谁能向我解释为什么它打印 32 以及它如何工作的总体概念?
#include <stdio.h>
int main()
{
int a=1;
for (printf ("3"); printf ("2"); printf ("1"))
return 0;
}
Run Code Online (Sandbox Code Playgroud)
适当的缩进会让它更清晰:
#include <stdio.h>
int main()
{
int a=1;
for (printf ("3"); printf ("2"); printf ("1"))
return 0;
}
Run Code Online (Sandbox Code Playgroud)
所以会发生以下情况:
a被初始化为1. 我不知道为什么这个变量存在,因为它从未被使用过。for执行其初始化语句printf("3");。这打印3.for评估其重复条件printf("2"). 这将打印2并返回已打印的字符数,即1。return 0;。这从 中返回main(),从而结束循环。由于循环结束,我们永远不会计算更新表达式 ,printf("1")因此它永远不会打印1。我们没有得到任何重复的内容。