【发布时间】:2018-09-11 07:51:25
【问题描述】:
我不明白为什么下面的代码会输出10。
我的理解是!printf("0")的意思是!0,也就是TRUE。那么为什么代码不打印"Sachin"
#include <stdio.h>
int main() {
for (printf("1"); !printf("0"); printf("2"))
printf("Sachin");
return 0;
}
输出
10
【问题讨论】:
-
也许您需要a
printfreference 来查看它返回的内容? -
printf返回打印的字符数。它可以打印1、10或什么都不打印,这取决于它在哪个字符之后失败。 -
!printf("0") 返回 false。如果成功,printf 本身会返回打印的字符数。检查任何 c 参考以获取详细信息。
-
!printf("0")表示!0... 不。鉴于printf的结果,它表示!1即FALSE
标签: c for-loop printf-debugging