任何人都可以向我解释为什么它打印32和整体概念,这是怎么运作的?
#include <stdio.h>
int main()
{
int a=1;
for (printf ("3"); printf ("2"); printf ("1"))
return 0;
}
任何人都可以向我解释为什么它打印32和整体概念,这是怎么运作的?
#include <stdio.h>
int main()
{
int a=1;
for (printf ("3"); printf ("2"); printf ("1"))
return 0;
}
适当的压痕会使它更清楚:
#include <stdio.h>
int main()
{
int a=1;
for (printf ("3"); printf ("2"); printf ("1"))
return 0;
}
因此以下情况:
a
初始化 1
. 我不知道为什么这个变量存在,因为这是永远不会使用。for
执行将其初始化的声明, printf("3");
. 这个指纹 3
.for
评估的重复条件, printf("2")
. 这个指纹 2
和返回的数字符印刷,这是 1
.return 0;
. 这回报 main()
,从而结束循环。由于循环结束,我们从来没有评估更新的表达, printf("1")
,所以它从来没有指纹 1
. 我们没有得到任何重复的任何东西。
你知道,一个程序开始运行,从左'{'的主要功能(),端中的权利'}'的主要功能(),如果没有无穷无尽的循环。
作为你的代码显示的,你的困难是要了解该流程图中的循环在C语言。
for (initializationStatement; testExpression; updateStatement)
{
// statements inside the body of loop
for loop body;
}
1.初始化的声明是执行只有一次。
2.然后,测试表达式进行评估。 如果测试表达式进行评估,以虚假的,对于循环终止。
3.然而,如果测试表达的是评估为真正的发言,发言的主体内为循环执行,并将更新的表达是更新。
4.再次测试表达式进行评估。
这个过程中去,直到试验的表达是错误的。 当测试表是虚假的,循环终止。
#include <stdio.h>
int main(){
for (printf ("3"); printf("2"); printf("1")) break;
return 0;
}
32
1.初始化 "printf ("3")
",然后,打印:
3
2.测试表达 "printf("2")
"总是真实的,所以印刷品:
2
3.对于身体的循环 "break
",这意味着结束的执行的循环,
不要执行更新后的表达 "printf("1")
"
此外,该方案跳出用于环,并且跳跃 "return 0;
",
然后,结束了执行这一程序。
因此,该输出
32
#include <stdio.h>
int main(){
for (printf ("3"); printf("2"); printf("1")) ;
return 0;
}
321212121212121212...121212...1212...
同样地,
1.初始化 "printf ("3")
",然后,打印:
3
2.测试表达 "printf("2")
"总是真实的,所以印刷品:
2
3.对身体环 "`"空,然后做什么。 转到更新后的表达
"printf("1")
"
4.更新后的表达 "printf("1")
",然后,印
1
5.然后,转到试验的表达 "printf("2")
",即"2.测试
表达 "printf("2")",这始终是真实的,所以打印"。因为
身体的循环 "`"空,然后一直到从更新
表达 "printf("1")
" 测试的表达 "printf("2")
",
这就是为什么在印刷之后"32
"功能印刷品无限循环
"12
".而且,这一职能永远不会结束停止印制"12
"除非你
停止这一职能。
因此,这样,所以输出
32121212...121212...121212...
#include <stdio.h>
int main()
{
int a=1;
for (printf ("3"); printf ("2"); printf ("1"))
return 0;
}
32
1.节目开始运行,从左'{'的主要功能(),
这是初始声明的临时变量
"int a=1;
".
这一声明的定义"int
"输入临时变"a
",并且
设定其价值"1
"但那打印什么!
2.然后,程序转到对于循环。
3.初始化语句 "printf ("3")
",然后,印
"3
",并且
转到试验的表达。
3
4.测试表达 "printf("2")
"总是真实的,所以
印"2
",并转到对于循环体的表达。
2
5.为循环体的表达"return 0
"的表达
"return 0
"回'0
'来的主要功能(),以及结束
执行主(),但打印什么。
因此,该输出为:
32