C语言i++的问题?

#include<stdio.h>intmain(){inti=1;while(i<10){i=i++;printf("i=%d\n",i);}return0;}大佬们这... #include<stdio.h>
int main()
{
int i=1;
while (i<10)
{
i=i++;
printf("i=%d\n",i);
}
return 0;
}

大佬们这段C语言 运行后只能输出i=1, 这个i=i+1 应该怎么理解
展开
 我来答
xgn911
2022-11-28 · TA获得超过1363个赞
知道小有建树答主
回答量:1493
采纳率:96%
帮助的人:648万
展开全部

代码中不是i=i+1,而是 i=i++; 

后者表示对i自增1,但返回i自增前的值

如果将返回值赋给i的话,相当于i不变

因此只会不断输出i=1,且陷入死循环,程序不会停止

相反,++i同样表示对i自增,但返回i自增后的值

赋给i的话相当于i=i+1,因此改成i=i+1或i=++i

或者不使用返回值,直接i++或++i,都可以正常跳出循环

且输出i=2, i=3, ..., i=10,如图所示:

综上,注意i++和++i的区别,如果帮到你,望采纳~

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式