搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 这个算术表达式的值是多少
标题:
这个算术表达式的值是多少
只看楼主
zqb7899
等 级:
业余侠客
帖 子:159
专家分:238
注 册:2009-10-16
结帖率:
100%
楼主
已结贴
√
问题点数:40 回复次数:13
这个算术表达式的值是多少
#include "stdio.h"
void main()
{
float x=2.5,y=4.7;
int a=7;
printf("%f\n",x+a%3*(int)(x+y)%2/4);
getch();
}
运算结果为什么是2.5 我觉得应是2.75
搜索更多相关主题的帖子:
表达
算术
2009-10-17 10:23
死亡军团
等 级:
论坛游民
威 望:
2
帖 子:166
专家分:20
注 册:2008-11-4
第
2
楼
得分:20
a%3*(int)(x+y)%2/4 这个表达式计算出来的是一个整数,本来是0.25的,但是要取整,则为零了。
2009-10-17 10:37
UserYuH
来 自:毅华
等 级:
火箭侠
威 望:
8
帖 子:720
专家分:3300
注 册:2009-8-10
第
3
楼
得分:10
40分! 抢分来了。
·
x+a%3*(int)(x+y)%2/4
·
a%3*(int)(x+y)%2/4 /* 这串表达式为零,因为: (x+y)等于7.2被强至转换为整型后为7,
所以,a%3*7%2/4=0 这算式里都是整型,不保留小数,最后 x+0=2.5 ,结果就为:2.5*/
努力—前进—变老—退休—入土
2009-10-17 10:37
zqb7899
等 级:
业余侠客
帖 子:159
专家分:238
注 册:2009-10-16
第
4
楼
得分:0
为什么要取整?
2009-10-17 10:39
zqb7899
等 级:
业余侠客
帖 子:159
专家分:238
注 册:2009-10-16
第
5
楼
得分:0
首先 不好意思 我就只有40分
2009-10-17 10:40
死亡军团
等 级:
论坛游民
威 望:
2
帖 子:166
专家分:20
注 册:2008-11-4
第
6
楼
得分:0
回复 4楼 zqb7899
因为这个表达式的最高运算级别就是整形,所以最后得出的结果也要是整形,所以最后的答案要取整,如果那个式子当中有一个是浮点数的话,得出的答案就是浮点数。这些你看看书应该要教的。
2009-10-17 10:46
zqb7899
等 级:
业余侠客
帖 子:159
专家分:238
注 册:2009-10-16
第
7
楼
得分:0
有点懂了 谢各位大侠(虾)相救?指教。
2009-10-17 10:56
zqb7899
等 级:
业余侠客
帖 子:159
专家分:238
注 册:2009-10-16
第
8
楼
得分:0
C语言的脾气真是古怪
还得好好摸摸
2009-10-17 10:58
pgy
来 自:C
等 级:
小飞侠
威 望:
8
帖 子:1248
专家分:2329
注 册:2009-9-23
第
9
楼
得分:0
40分啊
说点什么混分吧
好像能说的都被被说了
占楼
我可好玩啦...不信你玩玩^_^
2009-10-17 12:25
冰蓝诱惑
等 级:
论坛游民
帖 子:14
专家分:22
注 册:2009-10-16
第
10
楼
得分:0
呃...我也刚开始学C 有时间多聊聊吧~a%3*(int)(x+y)%2/4 这个是用了强制转换...把浮点型强制转换成整形...所以是2.5 呃...以后请大家多关照...
2009-10-17 12:53
14
1/2页
1
2
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-288851-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.018475 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved