我尝试了一下书上的例子,输出a++和++a时的值是相同的,都为4,用的是vc6。
麻烦大神们帮帮我,解释一下为什么是这个答案,谢谢!
下面是代码:
#include "stdio.h"
main()
{
int a=1,sum;
printf("%d\n",a);
sum=(a++)+(a++);
printf("%d\n%d\n%d\n",sum,a++,++a);
return 0;
}
输出的值:
我尝试了一下书上的例子,输出a++和++a时的值是相同的,都为4,用的是vc6。
麻烦大神们帮帮我,解释一下为什么是这个答案,谢谢!
下面是代码:
#include "stdio.h"
main()
{
int a=1,sum;
printf("%d\n",a);
sum=(a++)+(a++);
printf("%d\n%d\n%d\n",sum,a++,++a);
return 0;
}
输出的值:
未定义行为
,不同的编译器,得到的结果都是不同的。详细请阅读
https://blog.csdn.net/qq_29169813/article/details/51416281