鱼C论坛

 找回密码
 立即注册
查看: 3194|回复: 5

[已解决]C例题求解

[复制链接]
发表于 2018-3-25 20:39:47 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
谢谢 !
最佳答案
2018-3-26 10:42:21
zhengyihao1 发表于 2018-3-26 10:11
((++j)+(++j))+(++j)那为啥变成这个了啊为啥括起来前两个啊 - -

你是用的编译器就是这么干的,没有为什么,你只需要知道它是这么干,大概了解就可以了,

并且,这样的问题感觉就是考试可能会考,而且得限制编译环境,实际谁疯了吗?要这样写代码?

求详细解释这段代码

求详细解释这段代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-3-25 21:00:57 | 显示全部楼层
1,++在后,说明结果在下一条语句生效
2,++在前,本次马上生效
3,(++j)+(++j)+(++j)  运算优先级 其实是 ((++j)+(++j))+(++j)  7+7+8
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-25 21:16:50 | 显示全部楼层
你这个代码在不同的编译环境可能会出现不同的结果,但是无非就是优先级的问题

至于i++ 和 ++i ,一个先运算后自加,一个先自加后运算,但是由于不同编译器有些

结果可能是15 ,24 ,8 , 8 所以你理解了就可以了,不需要过分纠结

我特意给你加了一行,代码,你可以对比一下,理解

  1. #include <stdio.h>
  2. int main()
  3. {
  4.         int i=5,j=5,k=5,p,q,r;
  5.         p=(i++)+(i++)+(i++); // p = 5 + 6 + 7 执行后 i = 8
  6.         r = (++k)+(++k);printf("%d\n",r); //特意给你加了一行,你可以对比一下这个
  7.         q=(++j)+(++j)+(++j); // q = 7 + 7 +8 执行后 j = 8
  8.         printf("%d,%d,%d,%d",p,q,i,j);
  9.         return 0;
  10. }
复制代码


小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-26 10:09:52 | 显示全部楼层
ba21 发表于 2018-3-25 21:00
1,++在后,说明结果在下一条语句生效
2,++在前,本次马上生效
3,(++j)+(++j)+(++j)  运算优先级 其实 ...

((++j)+(++j))+(++j)这是为啥啊- -  为啥前两个要用括号括起来
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-3-26 10:11:01 | 显示全部楼层
Zmynx_2017 发表于 2018-3-25 21:16
你这个代码在不同的编译环境可能会出现不同的结果,但是无非就是优先级的问题

至于i++ 和 ++i ,一个先 ...

((++j)+(++j))+(++j)那为啥变成这个了啊为啥括起来前两个啊 - -
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-3-26 10:42:21 | 显示全部楼层    本楼为最佳答案   
zhengyihao1 发表于 2018-3-26 10:11
((++j)+(++j))+(++j)那为啥变成这个了啊为啥括起来前两个啊 - -

你是用的编译器就是这么干的,没有为什么,你只需要知道它是这么干,大概了解就可以了,

并且,这样的问题感觉就是考试可能会考,而且得限制编译环境,实际谁疯了吗?要这样写代码?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-14 15:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表