a++与++a的返回值

总结:

因为无论是运算还是输出,当需要a++返回结果时,a++返回的是加1以前的值,++a返回的是加1之后的值

例:

main()

{

  int a = 3, b = 6;

 ❶ printf("%d", a++);

 ❷ printf("%d\n", 2*(b-'0'));

}

在此程序中❶printf("")中的运算过程是,a++将返回值a(整数3)返回给printf,输出在%d的位置上,然后才+1=4,于是a = 4(整数)若之后下一行加上一个"printf("%d", a++)(a又会先返回4,再+1=5);" 或"printf("%d", a);",那么输出值就是 4; 若此处改为++a,则运算过程为(a = a + 1),先是a+1 = 4,于是++a的返回值便是4,然后输出在%d的位置上。 

当运算时也是如此:

例:

{

int a = 1;

int b = 1;

int n;

int m ;

n = a++;

m = ++b;

}

因为a++是先返回结果再加1,因此经过n = a++;运算之后n的值为1,然后a返回值1之后才+1=2,经过m = ++bb ;先进行+1=2后再返回结果2 ,运算之后m的值为2

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无极帝国C++工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值