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

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

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

2020-03-27 源自:C语言入门 3-3 338 浏览 3 回答

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;
}

2020-03-27
5

蔚然成风LL

这个我搞错了那个x+2,计算表示应该为104。刚刚打快了
#1 2020-03-27

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

2020-03-27
3

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

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

2020-04-02
1

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信