b=a++ 是什么意思?

#include"stdio.h"
int a,b;
main()
{ a=1;
f(a);
f(a);
}
int f(int a)
{ b=a++;
printf("%2d",b);
}
的结果为什么是1 1?请详细说明过程

a++这里有一个“在表达式运算完毕后,再将a进行++处理”,
b=(a++);
这是一个赋值表达式,
所以先将a的值代入表达式,必须等到赋值表达式运算完毕后,再将a进行++处理,
也就是说必须等到给b赋值完毕后,才将a进行++处理。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-07-12
b=a++是两个式子的合成:b=a,a+1
就是说执行完这一步以后,b被赋值,其值为a,然后a自己加一
对了,这是c语言的内容,不是数学本回答被网友采纳
第2个回答  2008-07-13
答案对啊
第3个回答  2008-07-12
a+1