在C中y = x <= 2是什么意思?

在C中y = x <= 2是什么意思?,第1张

概述我在C语言中有以下代码片段. int main(){ int x = 1, y = 1; for( ; y ; printf("%d %d ", x, y)) { y = x++ <= 2; } printf("\n"); return 0;} 它给出了类似的输出 2 13 14 0 我不明白y = x< = 2的输出 我在C语言中有以下代码片段.

int main(){    int x = 1,y = 1;    for( ; y ; printf("%d %d  ",x,y))    {        y = x++ <= 2;    }    printf("\n");    return 0;}@H_419_12@  

它给出了类似的输出

2  13  14  0@H_419_12@  

我不明白y = x< = 2的输出和含义.

解决方法 y = x <= 2由2部分组成:(1)x和(2)赋值y = ... x只是意味着增量后:你取x的值然后你将x增加1. 赋值y = …将y的值设置为1(如果x <= 2为真)或0(如果x <= 2为假) 现在棘手的部分是你的for循环:

for( ; y ; printf("%d %d  ",y))@H_419_12@  

请注意,在for循环中,每次循环后都会打印printf(“%d%d”,y)(增量条件).

并注意终止条件; y;这意味着只要您的y为1,您将保持循环.结合它们,你得到的结果是:

2 1 3 1 4 0@H_419_12@  

顺序看起来像这样:

//first x = 1,y = 1y = x++ <= 2; //x = 1 <= 2 returns 1,x++,x becomes 2,y becomes 1printf("%d %d  ",y)// you get your first 2 1y = x++ <= 2; //x = 2 <= 2 returns 1,x becomes 3,y)// you get your 3 1y = x++ <= 2; //x = 3 <= 2 returns 0,x becomes 4,y becomes 0printf("%d %d  ",y)// you get your 4 0@H_419_12@                            	          总结       

以上是内存溢出为你收集整理的在C中y = x <= 2是什么意思?全部内容,希望文章能够帮你解决在C中y = x <= 2是什么意思?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1224452.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-05
下一篇2022-06-05

发表评论

登录后才能评论

评论列表(0条)

    保存