for(i=1;(c=string[i])!='\0';i++)

来源:百度知道 编辑:UC知道 时间:2024/07/02 17:34:37
去掉()后,程序就有问题,请问是怎么回事??请说明详细原因

这样先执行了string[i]!='0',得到BOOL类型的值,然后赋给C,而C是字符型变量,所以出错。

!=的优先级高于=,如果去掉(),表达式就变成了如下形式:

for(i=1;c=(string[i]!='\0');i++)