这两个语句一样吗?
来源:百度知道 编辑:UC知道 时间:2024/06/15 18:25:34
for(p=str;*p!='\0';p++)
for(p=str;*p;p++)
这两个语句一样吗?
for(p=str;*p;p++)
这两个语句一样吗?
这个是一样的
前者是 *p!='\0' for循环中断的条件是*p!='\0'
后者是*p 说明中断条件是 *p为假时才终止
如果这两个条件放在其他地方,可能不成立,但是这个是个字符串
呵呵,条件是一样!效果也一样!
我试了下
#include <stdio.h>
void main()
{
char *str="fdsafdsa";
char *p;
for(p=str;*p!='\0';p++)
printf("%c",*p);
printf("\n");
for(p=str;*p;p++)
printf("%c",*p);
}
结果是一样的!
一样的!
这两个语句是一样的,因为*p就相当于*p!='\0'.