putchar 和整个代码是如何执行的?
How does the putchar and whole of the code gets executed?
我想要理解前 3 次迭代的代码的枯燥 运行。
代码的输出是:abcdbcdbcdbcdbc.......(无限次)
我知道 for 循环是如何工作的并且 put char also.I 没有干掉 运行 因为我不明白 for 循环中的第三个参数是否会递增。
#include <stdio.h>
int main()
{
for (putchar('a');putchar('b');putchar('d'))
putchar('c');
return 0;
}
putchar
always returns the char that you put. So for instance, putchar('a')
returns 'a'
. With that in mind, let's have a look at how the for
循环有效:
for ( init_clause ; cond_expression ; iteration_expression )
loop_statement
init_clause
是 putchar('a')
。这将打印 a
一次,因为 init_clause
在 for
循环开始时被评估一次。
cond_expression
是 putchar('b')
。循环中每隔 运行 就检查一次,这就是它总是打印 b
的原因。并且每次都 returns 'b'
,循环永远不会停止。循环只会在 cond_expression
返回 0
或循环退出时停止,例如通过 break
.
iteration_expression
是putchar('d')
,所以每次都打印d
。 loop_statement
是 putchar('c')
,打印 c
。
结果是打印 a
一次,然后是无限量的 bcd
。你按这个顺序得到它们的原因是因为在每个 运行 循环中,它首先检查 cond_expression
,执行 loop_statement
然后 iteration_expression
.
例如:
Initial statement : putchar('a')
Condition expression: putchar('b')
Repeat step: putchar('d')
Loop statement : putchar('c')
现在给你映射code
上面的流程图
因为 putchar
returns 它打印的字符 b
也满足 true
条件,因此你的 for 循环 运行 无限时间。
Attribution :
http://www.equestionanswers.com/c/for-while-do-while-loop-syntax.php
我想要理解前 3 次迭代的代码的枯燥 运行。 代码的输出是:abcdbcdbcdbcdbc.......(无限次)
我知道 for 循环是如何工作的并且 put char also.I 没有干掉 运行 因为我不明白 for 循环中的第三个参数是否会递增。
#include <stdio.h>
int main()
{
for (putchar('a');putchar('b');putchar('d'))
putchar('c');
return 0;
}
putchar
always returns the char that you put. So for instance, putchar('a')
returns 'a'
. With that in mind, let's have a look at how the for
循环有效:
for ( init_clause ; cond_expression ; iteration_expression ) loop_statement
init_clause
是 putchar('a')
。这将打印 a
一次,因为 init_clause
在 for
循环开始时被评估一次。
cond_expression
是 putchar('b')
。循环中每隔 运行 就检查一次,这就是它总是打印 b
的原因。并且每次都 returns 'b'
,循环永远不会停止。循环只会在 cond_expression
返回 0
或循环退出时停止,例如通过 break
.
iteration_expression
是putchar('d')
,所以每次都打印d
。 loop_statement
是 putchar('c')
,打印 c
。
结果是打印 a
一次,然后是无限量的 bcd
。你按这个顺序得到它们的原因是因为在每个 运行 循环中,它首先检查 cond_expression
,执行 loop_statement
然后 iteration_expression
.
例如:
Initial statement :
putchar('a')
Condition expression:
putchar('b')
Repeat step:
putchar('d')
Loop statement :
putchar('c')
现在给你映射code
上面的流程图
因为 putchar
returns 它打印的字符 b
也满足 true
条件,因此你的 for 循环 运行 无限时间。
Attribution : http://www.equestionanswers.com/c/for-while-do-while-loop-syntax.php