printf("%d,%d,%d,%d,%d\n",i++,++i,i,i++,i);

ffscool 2011-03-09 07:33:04
#include <stdio.h>

int main()
{
int i = 3;
printf("%d,%d,%d,%d,%d\n",i++,++i,i,i++,i);
printf("%d\n",i);

return 0;
}
输出结果为啥是 4,4,3,3,3 呢?
请指教。。
...全文
2321 47 打赏 收藏 转发到动态 举报
写回复
用AI写文章
47 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2011-05-10
  • 打赏
  • 举报
回复
不要写连自己也预测不了结果的代码!
zerols 2011-05-10
  • 打赏
  • 举报
回复
编译器不同结果也不同
printf是从右至左栈
VC下i++在该条指令执行之后对i进行操作,++i在i被调用之前对i进行+1操作
故i,i++,i为3,print到++i时,i为4
lan243675044 2011-05-09
  • 打赏
  • 举报
回复
顶楼上的 楼主 你不可能才输出五个值把 还有一个值跑哪去了啊
jilonglv 2011-05-08
  • 打赏
  • 举报
回复
[Quote=引用 40 楼 ask1007 的回复:]
VS2010结果是
5 6 6 3 6
6
..........................
[/Quote]
试过同样的结果。
楼主你才输出5个值,你忽悠我们啊,你是不是猜的?对不住。。。。
printf("%d,%d,%d,%d,%d\n",i++,++i,i,i++,i);
压栈顺序是从右到左(你在调试下将上面一句反汇编成汇编语言可以看出)
其实真的除了 第六个输出是6可以理解。其他输出为什么是这样的,我也想不太通。
望高手指教!
sunfly2010 2011-05-08
  • 打赏
  • 举报
回复
编译器不一样,结果也不一样,只有自己理解就可以了
ask1007 2011-05-08
  • 打赏
  • 举报
回复
VS2010结果是
5 6 6 3 6
6
..........................
tuning工作者 2011-05-07
  • 打赏
  • 举报
回复
int i=100;
printf("%d ,%d\n",++i,i++);
结果是102 100
tuning工作者 2011-05-07
  • 打赏
  • 举报
回复
其实是按照从右向左计算的
ffjj56 2011-05-07
  • 打赏
  • 举报
回复
楼主能不能学点稳定的东西
blacklychen 2011-05-06
  • 打赏
  • 举报
回复
不同编译器,编译顺序不同,导致结果不同!
wizard_tiger 2011-05-06
  • 打赏
  • 举报
回复
不同的编译器就会有不同的结果。
waslgxl 2011-05-05
  • 打赏
  • 举报
回复
编译器问题
因为编译的时候是自右向左结合的
longdenghua 2011-05-05
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 ccforevercc 的回复:]
引用 14 楼 ningweidong 的回复:
编译器不一样,结果就会不一样。
何必纠缠于这个问题呢



同意这个 不同编译器 结果不一样 不必纠结
[/Quote]

++
妹妹 2011-05-05
  • 打赏
  • 举报
回复
我也纠结了
ffscool 2011-03-11
  • 打赏
  • 举报
回复
了解啦。。。纠结与此确实无聊无意义啊~~~谢谢大家。。
hu823287929 2011-03-11
  • 打赏
  • 举报
回复
编译器不同,答案也不会一样
微笑的鱼 2011-03-10
  • 打赏
  • 举报
回复
这种跟编译器相关的代码只有在变态的大学课堂才会出现,严重鄙视!!!

你纠结个啥?没人会写这种垃圾代码!
rember0087 2011-03-10
  • 打赏
  • 举报
回复
这样的问题,很……
CiCi 2011-03-10
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 ningweidong 的回复:]
编译器不一样,结果就会不一样。
何必纠缠于这个问题呢
[/Quote]


同意这个 不同编译器 结果不一样 不必纠结
ffjj56 2011-03-10
  • 打赏
  • 举报
回复
不用纠结,分5行,自行下断调试,观察
加载更多回复(24)

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧