很大的疑问

jt770520 2011-11-17 08:23:20
#include <stdio.h>
#include <math.h>
void main()
{
int i=5,j=5,p,q;
p=(i++)+(i++)+(i++);
q=(++j)+(++j)+(++j);
printf("%d,%d\n%d,%d\n",p,q,i,j);
}
这段代码的答案是:
P=15 i=8
q=24 j=8
但为什么编译器编译出来是
P=15 i=8
q=22 j=8
...全文
170 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
程序员小迷 2012-02-08
  • 打赏
  • 举报
回复
这种问题,只能当技术讨论,写项目代码不能这样
没事就来看看 2011-11-22
  • 打赏
  • 举报
回复
编译器,问题!
Aurantius 2011-11-22
  • 打赏
  • 举报
回复
蛋痛的编译器啊
const_syw 2011-11-22
  • 打赏
  • 举报
回复
好难!!!
lj10193019 2011-11-18
  • 打赏
  • 举报
回复
唉又一个孩子堕落了
重庆-老白 2011-11-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hnuqinhuan 的回复:]
每个编译器的结果不一样的
看编译器决定 没意义
[/Quote]
++++++++
  • 打赏
  • 举报
回复
一看到一堆i++ ++i 后面还加个printf()之类的我就知道可能是和编译器有关的题了,不用纠结...以前也被这搞得头疼....
百善孝为先 2011-11-17
  • 打赏
  • 举报
回复
这跟编译器有关~
柯本 2011-11-17
  • 打赏
  • 举报
回复
几天不见的问题,又出现了
http://topic.csdn.net/u/20110826/09/601EBE9C-C2AE-4D63-A4E2-506C618BB654.html
编译器有关,结果不确定
無_1024 2011-11-17
  • 打赏
  • 举报
回复
每个编译器的结果不一样的
看编译器决定 没意义
W170532934 2011-11-17
  • 打赏
  • 举报
回复
又是考试题目,这题目考你所谓的先运行哪部分的。但是编译器有自己的实现方式。所以各编译器不一样的。没有什么意思

33,317

社区成员

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

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