设int a=3,b=5;float x=7.5,y=3,5;则表达式(float)a+b/2+(int)x%(int)y;的值为何是5.5
答案:3 悬赏:70
解决时间 2021-02-26 17:44
- 提问者网友:无心恋土
- 2021-02-26 08:50
这个题目百度知道里已经有人问了,回答的答案是6.0.但我在winTC 1.9.1以及TC2.01 dosbox版里运行得到的答案都是5.5,有谁能解释一下为何是这个结果。不要说这个答案错了,不信可以自己运行一下。
最佳答案
- 二级知识专家网友:苦柚恕我颓废
- 2021-02-26 09:10
答案是否正确,你可以用手计算。
题目中 y=3逗号5, y值应当等于3,如果 y=(3,5) y值应当等于5, 如果逗号应是点号,则y=3.5.
一般思维:
a=3, (float)a 得 3.0 这点无疑问。
b/2 整型除以整型,5/2 得 2,转float 型 得 2.0.
(int) x 正数取地板值 得 7
(int) y 正数取地板值 得 3 或 5 或 3 之 1
(int) x % (int) y -- 模运算 得 1 或 得 2 两者之 1。
3项加起来 3.0 + 2.0 + (1 或 2 两者之 1) 答案 是 6.0 或 7.0
TC 是古老的东西。思维有个性。
按float处理:
a=3, (float)a 得 3.0 这点无疑问。
b/2 先 转float 型 5.0/2.0 得 2.5 。
(int) x 四舍五入 得 8
(int) y 四舍五入 (按3.5考虑)得 4
(int) x % (int) y = 8 % 4 得 0.0
3项加起来 3.0 + 2.5 + 0.0 = 5.5
题目中 y=3逗号5, y值应当等于3,如果 y=(3,5) y值应当等于5, 如果逗号应是点号,则y=3.5.
一般思维:
a=3, (float)a 得 3.0 这点无疑问。
b/2 整型除以整型,5/2 得 2,转float 型 得 2.0.
(int) x 正数取地板值 得 7
(int) y 正数取地板值 得 3 或 5 或 3 之 1
(int) x % (int) y -- 模运算 得 1 或 得 2 两者之 1。
3项加起来 3.0 + 2.0 + (1 或 2 两者之 1) 答案 是 6.0 或 7.0
TC 是古老的东西。思维有个性。
按float处理:
a=3, (float)a 得 3.0 这点无疑问。
b/2 先 转float 型 5.0/2.0 得 2.5 。
(int) x 四舍五入 得 8
(int) y 四舍五入 (按3.5考虑)得 4
(int) x % (int) y = 8 % 4 得 0.0
3项加起来 3.0 + 2.5 + 0.0 = 5.5
全部回答
- 1楼网友:野心和家
- 2021-02-26 11:02
为什么我在VC++6.0里面测试时6.0啊
- 2楼网友:深街酒徒
- 2021-02-26 09:33
你好!
有趣的问题= =我先留个名。。看看有没有大神解答
我的回答你还满意吗~~
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯