i++*++i+--i*i--

Xxxxxxx.. 2011-08-10 10:10:52
main()
{
int i=3 j=0;
j=i++*++i+--i*i--;
printf("j=%d",j);
}

j=? 我运行答案是25,求详细解析。
...全文
189 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
Xxxxxxx.. 2011-08-12
  • 打赏
  • 举报
回复
不是每个人一开始都是大神!我只是想问我不懂的...
liutengfeigo 2011-08-11
  • 打赏
  • 举报
回复
月经来了.
赵4老师 2011-08-11
  • 打赏
  • 举报
回复
VC调试(TC或BC用TD调试)时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)

不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。

不要写连自己也预测不了结果的代码!
柯大侠爱喝水 2011-08-11
  • 打赏
  • 举报
回复
加括号,把优先级分清楚
w495771636 2011-08-11
  • 打赏
  • 举报
回复
很2的人才去研究这样的问题。写的时候不会加括号?。
AnYidan 2011-08-11
  • 打赏
  • 举报
回复
标准里对求值顺序没有做规定,依赖你的compiler
xiaoguangzaia 2011-08-11
  • 打赏
  • 举报
回复
搜下顺序点
chen2jpu 2011-08-11
  • 打赏
  • 举报
回复
楼主这个赋值语句是一个顺序点,能保证语句结束的时候,自增,自减会执行,至于执行时间点,不同的编译器有不同的结果,添加括号也没用。
chen2jpu 2011-08-11
  • 打赏
  • 举报
回复
顺序点(sequence point)的定义:在此位置之前所有的side effect 会生效。
chen2jpu 2011-08-11
  • 打赏
  • 举报
回复
建议:
1.同一个变量++,--在求值表达式中出现两次或以上时,就分开单独求值吧
2.同上,如果出现函数参数的时候,也是一样,先求值在传递。
HotHat 2011-08-11
  • 打赏
  • 举报
回复
拉积问题!!
Jxiaoshen 2011-08-11
  • 打赏
  • 举报
回复
楼主只要弄明白i++和++i区别就行,不同的编译环境对你所提问题 会产生不同的结果
没人会写这种表达式
flysnowhite 2011-08-10
  • 打赏
  • 举报
回复
老问题了,别追根究底,没意思
kingking44 2011-08-10
  • 打赏
  • 举报
回复
我也测试了,结果是18,说明不同的编译器,结果会有所不同,不用纠结了,凭经验吧,最好加上括号!
Xxxxxxx.. 2011-08-10
  • 打赏
  • 举报
回复
哦 5该
5t4rk 2011-08-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 pathuang68 的回复:]

不同的编译器有不同的结果。
[/Quote]
不用多说 不必深究
+++
luciferisnotsatan 2011-08-10
  • 打赏
  • 举报
回复
http://blog.csdn.net/luciferisnotsatan/article/details/6456696
详解看这个
pathuang68 2011-08-10
  • 打赏
  • 举报
回复
类似的问题在坛子讨论了很多次了。这样的问题讨论起来木有意义。
pathuang68 2011-08-10
  • 打赏
  • 举报
回复
不同的编译器有不同的结果。
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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