即使给出的条件只是t
,这个for循环也能正常工作。
如果它甚至没有有效的条件,这怎么可能? 还有很多其他例外吗?
for (t=10; t; --t) {
printf("%d",t);
}
答案 0 :(得分:2)
如果它甚至不是有效的条件,这怎么可能。还有很多其他例外吗?
这是可能和有效的条件
for循环中的第二个子表达式t
用于检查t
是否等于0
。它相当于
for (t=10; t != 0 ; --t) {...}
答案 1 :(得分:0)
t != 0
时,第二个表达式为“true”
答案 2 :(得分:0)
这是t
存在的有效条件和值。简单地说,条件表达式只检查结果是!= 0
(评估为真),否则为假。
当您使用条件运算符(==
,!=
等)时,它实际上返回0或1的结果,请尝试:
int a = 2;
printf("Result: %d, %d\n", a == 1, a == 2);