为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C
Hail_Hydra 2018-01-09 13:39:32
#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
查看完整描述

1 回答

已采纳
?
慕用4063026

TA贡献195条经验 获得超115个赞

我的是这个

8 8 2

8

   这个题目是有点争议的。不同的编译器对这个输出的处理顺序是不同的。但是C的表准和考试的时候绝大部分都是以TC2.0为准的。printf()语句多个参数的执行顺序,从右往左的。

查看完整回答
1 反对 回复 2018-01-09
  • 1 回答
  • 0 关注
  • 2053 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信