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

int a=100;为什么a++输出还是100

#include <stdio.h>
int main()
{
    int a = 100;
    printf("%d\n",a++);
    printf("%d\n",++a);
    return 0;
}

正在回答

7 回答

因为定义后就输出,a++还没有运行所以第一个输出是100,第二个输出先完成第一次a++再进行++a

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

设有一字母t,运算开始为t=a++,运算后a=101,t为100;后t2=++a,a=102,t=102。这样行吗?

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

这个题目是告诉你运算方是向由右至左,也一定要有值才能运算 ,如:b++>a等同 b >a ,++b>a等同 b+1+1>a。

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

慕码人2016687

从右至左是什么意思没太明白
2019-11-18 回复 有任何疑惑可以回复我~

第一个不进行运算,第二个++a怎么自加后成102了


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

第一个printf会直接输出a的值不会进行自增运算,第二个printf会先运行自增运算后输出a的值。

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

慕瓜4214953

为什么第一个不会运算,这是规律吗?我没懂
2019-12-20 回复 有任何疑惑可以回复我~

取值是100   在运算++ 不就是101吗 还是不太懂麻烦您啦

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

a++是先取值再运算   

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

举报

0/150
提交
取消

int a=100;为什么a++输出还是100

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