我们都知道++在C语言中是自增的意思,会对原值增加1。但是偶然一次看到一个题目是这样的:
m=0;m=m++;m结果是多少?
上面的结果不是1,而是0, 这确实有点出乎意料。于是写了下面的程序来确认下;
#include <stdio.h>
int main(int argc, char **argv)
{
int m = 0;
m++;
printf("m is %d\n", m);
++m;
printf("m is %d\n", m);
m=++m;
printf("m is %d\n", m);
m=m++;
printf("m is %d\n", m);
return 0;
}
结果如下:
m is 1
m is 2
m is 3
m is 3
果然是执行了m=m++后m