猿问

printf("%d %d %d\n",a*=2,++a,a++);

#include <stdio.h>

int main(){
int a=2;
printf("%d %d %d\n",a*=2,++a,a++);
printf("%d\n",a);
return 0;
}

为什么同一段代码编译运行的结果在不同机子上不一样呢?理论结果应该是多少

我的运行结果是

8 8 2
8


Hail_Hydra
浏览 2054回答 1
1回答

慕用4063026

我的是这个8 8 28   这个题目是有点争议的。不同的编译器对这个输出的处理顺序是不同的。但是C的表准和考试的时候绝大部分都是以TC2.0为准的。printf()语句多个参数的执行顺序,从右往左的。
随时随地看视频慕课网APP
我要回答