C语言求助!!
#include"stdio.h"intmain(){intx=10;printf("%d%d\n",x,x++);printf("%d\n",x);}运行结果为1110...
#include"stdio.h"
int main(){
int x=10;
printf("%d %d\n",x,x++);
printf("%d\n",x);
}
运行结果为11 10 11
为什么是这个结果,不应该是10 10 11 展开
int main(){
int x=10;
printf("%d %d\n",x,x++);
printf("%d\n",x);
}
运行结果为11 10 11
为什么是这个结果,不应该是10 10 11 展开
2个回答
2020-01-07
展开全部
在一个语句里同时使用值本身和自增运算,不同的编译器,结果可能不同,这是未定义行为,也就是说各家编译器有自己的实现方式
用gcc 是11 10 11,clang是10 10 11
但你要知道C语言里printf 如果右边有多个表达式,是从右往左算的
用gcc 是11 10 11,clang是10 10 11
但你要知道C语言里printf 如果右边有多个表达式,是从右往左算的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询