
关于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的吗??新手。 展开
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的吗??新手。 展开
1个回答
展开全部
X1=i++;
X2=++i; i++后第一次被调用 7,++i直接生效再加1 8
X3=i--; i-- 不直接作用 还是8
X4=--i; i--后第一次被调用 7,--i直接生效再减1 6
没什么花样,加减号放前面(++i,--i)直接生效,放后面(i++,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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |