关于C语言。i++和++i的运算。

#include<stdio.h>intmain(){inti=6,X1,X2,X3,X4;X1=i++;X2=++i;X3=i--;X4=--i;printf("显示结... #include<stdio.h>

int main()
{
int i=6,X1,X2,X3,X4;
X1=i++;
X2=++i;
X3=i--;
X4=--i;
printf("显示结果是:\n");
printf("%d,%d,%d,%d\n",X1,X2,X3,X4);
return 0;
}
怎么显示的结果是6、8、8、6. 不是应该是 6、7、6、5的吗??新手。
展开
 我来答
百度网友d73d4f6
2016-08-01 · TA获得超过1581个赞
知道小有建树答主
回答量:1441
采纳率:63%
帮助的人:481万
展开全部
X1=i++;
X2=++i; i++后第一次被调用 7,++i直接生效再加1 8
X3=i--; i-- 不直接作用 还是8
X4=--i; i--后第一次被调用 7,--i直接生效再减1 6
没什么花样,加减号放前面(++i,--i)直接生效,放后面(i++,i--)第一次调用生效。
追问
X1=i++代表的是 X1直接赋值给I 再加1操作
X2=++I 不是应该是先加1然后赋值I 等于7吗?
追答
X1=i++;这时候的i的值不变还是6,然后赋值给x1
下一次其他场合出现i 才会反映出+1
X2=++I 由于前面的i++这时候i其实加了两次所以是8
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式