while (printf("*"))

来源:百度知道 编辑:UC知道 时间:2024/07/03 09:15:46
t=0;
while (printf("*"))
{t++;
if(t<3) break;
下面描述正确的是
A.其中循环控制式与0等价B.其中循环控制表达式与‘0’等价
C.其中循环控制表达式是不合法的D.以上说法都不对

A,其中循环控制式与0等价

因为printf()函数有一个返回值.如果函数正常结束就返回一个0,不正常的话返回一个非0值.
因为会正常输出,所以就会返回一个0.就相当于
while (0)
{t++;
if(t<3) break;
}
如果输出出错,那么就会重试3次.
C或C++语言中把0当作false,非0的当作true