| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 496 人关注过本帖
标题:不知道错在哪了,请指点。
只看楼主 加入收藏
小布丁0003
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-9-21
结帖率:100%
收藏
已结贴  问题点数:4 回复次数:7 
不知道错在哪了,请指点。
求下面算术表达式的值:
(1)x+a%3*(int)(x+y)%2/4
#include<stdio.h>
void main()
{
    float x=2.5,a=7.0,y=4.7,b;
    b=(x+a%3*(int)(x+y)%2/4);
    printf("b=%f\n",b);
}
搜索更多相关主题的帖子: 表达式 
2011-09-21 21:06
唯我独魔
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:176
专家分:782
注 册:2011-4-13
收藏
得分:0 
LZ是想干吗,不能理解啊
2011-09-21 21:12
kitty_lm
Rank: 2
等 级:论坛游民
帖 子:16
专家分:16
注 册:2011-9-17
收藏
得分:4 
b=(x+a%3*(int)(x+y)%2/4);/*取余运算符的两个操作数的类型不能是浮点型,只能是整型。所以你那变量a只能定义成整型或将他强制性转换成整型。*/
2011-09-21 21:13
小布丁0003
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-9-21
收藏
得分:0 
回复 2楼 唯我独魔
就是我的程序在调试后有一个错误,可是我不知道哪错了,请指点一下。谢谢!
2011-09-21 21:14
小布丁0003
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-9-21
收藏
得分:0 
回复 3楼 kitty_lm
谢谢你!
2011-09-21 21:15
kitty_lm
Rank: 2
等 级:论坛游民
帖 子:16
专家分:16
注 册:2011-9-17
收藏
得分:0 
呵呵,交流交流!
2011-09-21 21:22
小布丁0003
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-9-21
收藏
得分:0 
回复 6楼 kitty_lm
再请教一下:
(float)(a+b)/2+(int)x%(int)y的值 计算机算的是3.5.
可是我算的是3,请问错在哪里?
(float)(2+3)/2+(int)3.5%(int)2.5
=5/2+3%2
=2+1
=3
2011-09-21 21:38
kitty_lm
Rank: 2
等 级:论坛游民
帖 子:16
专家分:16
注 册:2011-9-17
收藏
得分:0 
回复 7楼 小布丁0003
在算术运算符中的除法运算的运算规则:如运算符的两个操作数都是整型,这结果就是商的整数部分;如果有一个操作数是浮点型,则结果就是两数相除的商。
如你那个(float)(2+3)/2中(3+2)就是浮点数float型,所以结果应该是2.5,而不是2.所以最后的结果是3.5而不是3.
2011-09-22 21:28
快速回复:不知道错在哪了,请指点。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011201 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved