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

a=a+1,应该是101呀

#include<stdio.h>

int main()

{

    int  a=100;

    printf("%d\n",a++);

    return 0;

}

运算结果为100,

可是,无论是a++还是++a都等同于a=a+1,在表达式执行完毕后a的值都自增了1。

逻辑运行结果应该是a=100+1=101呀


正在回答

1 回答

a++是先进行取值,再进行自增,也就是说这个时候a已经被取值为100,此时输出结果就是100

++a是先进行自增以后再取值,也就是a先+1,此时取的值为101,输出就是101

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

梦里花开Z 提问者

无论是a++还是++a都等同于a=a+1,在表达式执行完毕后a的值都自增了1。 重点是应该看后面,还是应该看取值?
2019-09-27 回复 有任何疑惑可以回复我~
#2

慕慕1139141 回复 梦里花开Z 提问者

一个逻辑问题,a++,相当于我有一个苹果,告诉完你以后,我自己又买了一个苹果,这时候虽然我有两个,但你只知道我有一个。++a,相当于我有一个苹果,然后又去买了一个,这时候我有了两个苹果,告诉了你,你就知道我有两个了。虽然最后我都有了两个,但你知道的情况是不一样的。(我也是刚接触c语言,自己的一点理解,希望能帮到你)
2019-09-27 回复 有任何疑惑可以回复我~
#3

精慕门9316811

那a- -为什么不是100
2019-11-03 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

a=a+1,应该是101呀

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