while( *p ) 就是判断 (*p) 的值只要不为0就会一直循环。实际上与while(*p!='\0') 的意思是一样的,因为'\0'的值也是0C语言中逻辑判断只有两种状态:零 和 非零非零就是 所有值不等于0的情况,称为“真”等于0的情况,称为“假”...
while(*q||*p)的意思就是:当q或者p所指内容中有一个不为空(依照你的意思,就是字符'\0'),则执行while循环。
P 是一个指针指向一个char变量,*p 是指这个char 变量里的内容。比如:p=12345, 12345即 是这个char 变量的地址。*p 就是存在12345里的内容。
while(表达式)括号里的表达式可以是C任何合法的式子..只要为真(什么是真,有值就是真,非0就是真,,-1也是真,411也是真..)就循环..不然退出循环 问题补充:从头到尾,每个字符都拿出来用一下,可以这么说 就是因为是字符串,最后有个字符串结束标志的'\0',这个就是假,循环到这个就结束循环了...
我们看到*p++=*p1++的意思是将p1指向的内容给p对应地址的空间,我们知道++优先级高于*,但++后置,因此以上复制完后,p和p1都指向下一条地址,何时结束呢?当p1的内容为0时,表达式值为0,循环结束!
m不等于0则循环
指的是对指针类型变量取其所指向实体的内容。例如:int a = 10 ;//a为整型变量 int p = &a ;//p为整型变量指针,其指向整型变量a,p也称为整型变量a的地址 (使用&实现,&为取地址操作符)cout< 评论 0 0 0 加载更多
while(fgets(xx[i],80,fp) != NULL)//从fp所指向的文件中读取80-1=79个字符,存到xx中,如果不为空执行下面语句 { p = strchr(xx[i], '\n'); 查找‘\n’符在xx中的位置,返回位置的指针 if(p) *p = 0;\\如果p值不是空,就把p所指向的那个地址中的数符0(结束字符)i++;} ...