单独使用的时候,a++和++a没有区别,就是a+1。
区别在于:
a++(先赋值再自增)
#include <stdio.h>
int main() {
int a = 1;
printf("%d\n", a);
int b = a++;
printf("%d\n", a );
printf("%d", b);
}
运行结果:
1
2
1
所以此时应该注意变量b此时的值还是为1,并且a也已经完成自增。
例子2:
#include <stdio.h>
int add(int x) {
return x++;
}
void main() {
int a = 0;
a = add(a);
printf("%d", a);
}
运行结果:
可见此处a并未自增,因为直接return a++,导致a先返回再增加。