C 什么是<&引用;用表达式j=i++&书信电报;你怎么办?
如果C 什么是<&引用;用表达式j=i++&书信电报;你怎么办?,c,operator-keyword,increment,C,Operator Keyword,Increment,如果i小于5,则运算符返回1,否则返回0。请注意,增量不会影响比较,直到下一次循环迭代。代码检查i是否小于5,然后增量i。比较结果存储在j中 这是一个相当模糊的方法,使这样一个循环。不太可读。当循环执行i++时,实际上是在增加i的值。状况 j=i++=5时结束。 main() { int i = 1, j = 1 ; for ( ; j ; printf ("%d%d\n", i,j)) { j = i++ < 5 ; } return 0; }
i
小于5,则运算符返回1
,否则返回0
。请注意,增量不会影响比较,直到下一次循环迭代。代码检查i
是否小于5,然后增量i
。比较结果存储在j
中
这是一个相当模糊的方法,使这样一个循环。不太可读。当循环执行i++时,实际上是在增加i的值。状况 j=i++<5将检查返回值“1”或“0”,因此相应地,当输出打印语句printf(“%d%d\n”,i,j)将打印时 i=2;j=2返回1 so打印(2,1) i=3;j=3返回1 so打印(3,1) 依此类推,直到条件变为false,最终输出为j=返回“0”,表示i=6
这将给你一个ans(6,0)No-后增量发生在比较之后。@BartFriederichs我在网上遇到了这个问题。质量差的答案-后增量如何?增量不会直接影响比较。好的-那么为什么不在你的答案中提一下呢,也许还可以解释一下,在比较之后会发生后增量?所以,所有的问题和答案都是高质量的,所以像这样一个简洁而不完整的答案并不是很有用。@Paul R:只是尽量让答案简洁明了而已。但你是对的;值得一提的是,for循环在j变为0时结束,即当j>=5时结束。
main()
{
int i = 1, j = 1 ;
for ( ; j ; printf ("%d%d\n", i,j))
{
j = i++ < 5 ;
}
return 0;
}
21
31
41
51
60