社区
C语言
帖子详情
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
打赏
收藏
i++*++i+--i*i--
main() { int i=3 j=0; j=i++*++i+--i*i--; printf("j=%d",j); } j=? 我运行答案是25,求详细解析。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
不同的编译器有不同的结果。
Linux操作系统相关习题集
Linux操作系统相关习题集,包含常用名、Linux系统基础知识等
基于java的-30-「计算机毕业设计」基于net的湖南特产销售网站-源码.zip
提供的源码资源涵盖了Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 适合毕业设计、课程设计作业。这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。 所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通,第一时间进行解答!
JVM+Java程序运行过程内存分配图解
1、JVM 内存分配图解的 Visio 工程图。 2、直接下载使用、可自行调整和修改
IOC智慧运营中心平台整体解决方案qy.pptx
IOC智慧运营中心平台整体解决方案qy.pptx
node-v12.22.8-x86.msi
Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。
C语言
69,371
社区成员
243,080
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章