C语言,i=3; printf("%d,%d\n", ++i, i++);为什么运行结果是4,3??怎么不是5,3??怎么无视了i++??

 我来答
力锦汝容
游戏玩家

2019-12-15 · 游戏我都懂点儿,问我就对了
知道大有可为答主
回答量:1.1万
采纳率:28%
帮助的人:568万
展开全部
举例:i=3
x=i++,x=i,i=i+1,结果x=3,i=4
y=++i,y=i+1,i=i+1,结果y=5,x=5
i++就是i先赋值再自加,++i是先自加再赋值
自加每次加1,所以结果不可能是5,3
至于无视了i++应该是i的值并没有保存
你可以试一下把输出语句分两条写,结果应该是4,4
分两条之后交换一下位置结果是3,5
这么说明白了吗?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式