我的代码:
void main()
{
while(1){
if(printf("%d",printf("%d")))
break;
else
continue;
}
}
我知道printf()
返回打印的字符数。那么,为什么上面的代码在应该输出1的时候却输出了垃圾值
。
请解释一下。
谢谢。
最佳答案
因为第二个 printf
缺少它应该打印的数字...
顺便说一句,不要期望只看到 1,您会看到之前第二个 printf
打印的数字。例如。如果你的代码是
printf("%d",printf("%d", 7));
你会看到 71;首先将打印 7,然后打印 1。
关于c - 为什么这段代码返回垃圾值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18549619/