#include <stdio.h>
int main(){
for (printf ("3"); printf("2"); printf("1")) break;
return 0;
}
任何人都可以解释这是怎么运作的? 为什么不打印32? 当我刹车,它是无限循环,它打印12?
#include <stdio.h>
int main(){
for (printf ("3"); printf("2"); printf("1")) break;
return 0;
}
任何人都可以解释这是怎么运作的? 为什么不打印32? 当我刹车,它是无限循环,它打印12?
第一, printf ("3")
执行,所以它打印 3
. 然后 printf("2")
执行打印 2
. 因 printf()
's return value是数字,它印刷品,而在这种情况下, 1
,而是因为 1
是一个非零值,循环继续在身体。 第一个声明在体内 break
,这意味着退出的循环。 所以循环终止。 所以结果在屏幕上 32
printf("3")
被称为当的对环初始化.
printf("2")
叫来看看如果回路迭代应该终止。
printf()返回的数字它印刷品,这是1在这两种情况下,这样的循环决定,以执行。
循环体是简单 break
,所以循环终止在这一点上,并结束程序。