鱼C论坛

 找回密码
 立即注册
查看: 1144|回复: 8

[已解决]C++中运算符优先级问题

[复制链接]
发表于 2020-5-30 15:20:59 | 显示全部楼层 |阅读模式

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

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

x
以下几个有关C++的运算问题我不清楚正确答案是怎么解得的,还望各位大神能指教
(1)x+a%3*(int)(x+y)%2/4=2.5 其中,x=2.5,a=7,y=4.7
(2)(float)(a+b)/2+(int)x % (int)y=3.5 其中,a=2,b=3,x=3.5,y=2.5
(3)a/=a+a,运算后答案为0,其中a=12
(4)a+=a-=a*=a,运算后答案为0,其中a=12
最佳答案
2020-5-30 15:41:32
本帖最后由 永恒的蓝色梦想 于 2020-5-30 15:58 编辑

第一个的过程是这样的:
  1.    x+a%3*(int)(x+y)%2/4
  2. ->2.5+7%3*(int)(2.5+4.7)%2/4
  3. =2.5+1*(int)(7.2)%2/4
  4. =2.5+1*7%2/4
  5. =2.5+7%2/4
  6. =2.5+1/4
  7. =2.5+0
  8. =2.5
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-5-30 15:41:32 | 显示全部楼层    本楼为最佳答案   
本帖最后由 永恒的蓝色梦想 于 2020-5-30 15:58 编辑

第一个的过程是这样的:
  1.    x+a%3*(int)(x+y)%2/4
  2. ->2.5+7%3*(int)(2.5+4.7)%2/4
  3. =2.5+1*(int)(7.2)%2/4
  4. =2.5+1*7%2/4
  5. =2.5+7%2/4
  6. =2.5+1/4
  7. =2.5+0
  8. =2.5
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-30 15:48:31 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-5-30 15:41
第一个的过程是这样的:正确答案是 Runtime Error。

您有个计算错误,2.5+4.7=7.2,您算成8.2了,所以您给的结果是Error
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-30 15:57:21 | 显示全部楼层
巨兔12138 发表于 2020-5-30 15:48
您有个计算错误,2.5+4.7=7.2,您算成8.2了,所以您给的结果是Error

感谢指出,严重失误。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-30 15:59:39 | 显示全部楼层
巨兔12138 发表于 2020-5-30 15:48
您有个计算错误,2.5+4.7=7.2,您算成8.2了,所以您给的结果是Error

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

使用道具 举报

 楼主| 发表于 2020-5-30 16:22:39 | 显示全部楼层

第一个我已经懂了,第二、三、四个您能给解释一下吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-30 17:01:49 | 显示全部楼层
巨兔12138 发表于 2020-5-30 16:22
第一个我已经懂了,第二、三、四个您能给解释一下吗

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

使用道具 举报

发表于 2020-5-30 21:48:06 | 显示全部楼层
巨兔12138 发表于 2020-5-30 16:22
第一个我已经懂了,第二、三、四个您能给解释一下吗

抱歉一时忘了这茬了……

2.
  1.   (float)(a+b)/2+(int)x % (int)y
  2. ->(float)(2+3)/2+(int)3.5%(int)2.5
  3. =5.0/2+3%2
  4. =2.5+1
  5. =3.5
复制代码


3.
  1.   a/=a+a
  2. ->12/(12+12)
  3. =12/24
  4. =0
复制代码


第4个你就不需要看了,虽然不是未定义行为,但你绝对不应该这么写。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-1 11:24:03 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-5-30 21:48
抱歉一时忘了这茬了……

2.

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-7 13:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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