C语言求助!!

#include"stdio.h"
int main(){
int x=10;
printf("%d %d\n",x,x++);
printf("%d\n",x);

}
运行结果为11 10 11
为什么是这个结果,不应该是10 10 11

在一个语句里同时使用值本身和自增运算,不同的编译器,结果可能不同,这是未定义行为,也就是说各家编译器有自己的实现方式
用gcc 是11 10 11,clang是10 10 11
但你要知道C语言里printf 如果右边有多个表达式,是从右往左算的
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-13
相似回答