【发布时间】:2013-09-04 04:04:25
【问题描述】:
我的代码:
void main()
{
while(1){
if(printf("%d",printf("%d")))
break;
else
continue;
}
}
我知道printf()返回的是打印的字符数。那么,为什么上面的代码应该输出1时输出Garbage values。
请解释一下。
谢谢。
【问题讨论】:
-
最左边的 printf 的第二个参数应该是一个数字。相反,您已将函数 printf 传递给它。这就像试图把小熊软糖放在你的油箱里让它运行一样。请阅读 printf 是什么:cplusplus.com/reference/cstdio/printf
-
你熟悉
printf的参数约定吗?如果是这样,一点点代码检查将解决您的问题。将它放在while循环中的目的是什么?
标签: c printf conditional-statements