麻烦高手看下这个C语言为什么会这样呢?

来源:百度知道 编辑:UC知道 时间:2024/05/13 18:32:32
#include <stdio.h>

void main(){

int a;
int x;
int y;
a =2;
x =(a++)+(a++)+(a++);
y =(++a)+(++a)+(++a);
printf("%d,%d\n",x,y);
}
值输出X和Y的值为什么会是6和22呢/有高手知道吗?
楼上的可是++A的答案是22,不是24,这是为什么???

已经上机运行测试过了答案 6 24
a++是先加原来的值,后再加一
x =(a++)+(a++)+(a++);
2 2 2 =6
上句结束 a=5
a++是先加一再使用这个值
y =(++a)+(++a)+(++a);
8 8 8
经过三次加 a=8
则y=24

已经上机运行测试过了答案 6 24

你要先弄明白 什么是a++和++a
a++ 是最后再加
++a 是一开始就加