为了账号安全,请及时绑定邮箱和手机立即绑定

为什么int a=100,printf(“%d\n”,a++)的输出不是101

为什么int a=100,printf(“%d\n”,a++)的输出不是101

正在回答

3 回答

a++是指 a先参与运算之后,自己加1;

++a指a先加1再参与运算

2 回复 有任何疑惑可以回复我~

便于理解,a++为暗中加一,不表示出来。++a明目张胆的加一,且表示出来

4 回复 有任何疑惑可以回复我~

a++相当于a自增1但没有表示出来,表示的是原来的值
++a相当于a自增1且表示出来。
#include <stdio.h>
int main()
{
int x=100;
printf("%d\n",x++);//计算表示出来为100,a=101
printf("%d\n",++x);//101+1为102。计算表示为102,a为102
printf("%d\n",x+2);//计算表示为102,a值不变为102
printf("%d\n",x--);//同理,计算表示为102,a=101
printf("%d\n",--x);//计算表示为100,a=100
return 0;
}

7 回复 有任何疑惑可以回复我~
#1

蔚然成风LL

这个我搞错了那个x+2,计算表示应该为104。刚刚打快了
2020-03-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么int a=100,printf(“%d\n”,a++)的输出不是101

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信