| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 664 人关注过本帖
标题:刚学c语言,有个问题想请教下各位大虾。。。
只看楼主 加入收藏
queifa
Rank: 1
等 级:新手上路
帖 子:25
专家分:9
注 册:2011-10-2
结帖率:85.71%
收藏
已结贴  问题点数:5 回复次数:5 
刚学c语言,有个问题想请教下各位大虾。。。
#define pi 3.1415926
#include<stdio.h>
main()
{
    float r,l,s,v;
    printf("请输入一个数");
    scanf("%f",&r);
    l=2.*pi*r;
    s=pi*r*r;
    v=3/4*pi*r*r*r;//v的数值为0.000000,但我把
    printf("l=%f\ns=%f\nv=%f\n",l,s,v);
}
无论输入什么数V输出来的数是0.0000000
但我把它改成下面的程序有能正确的输出。。。。



#define pi 3.1415926
#include<stdio.h>
main()
{
    float r,l,s,v;
    printf("请输入一个数");
    scanf("%f",&r);
    l=2.0*pi*r;
    s=pi*r*r;
    v=3.0/4*pi*r*r*r;
    printf("l=%f\ns=%f\nv=%f\n",l,s,v);
}

请大神们指点下。。。。
搜索更多相关主题的帖子: 学c语言 include 
2011-10-06 13:26
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:0 
3/4=0
0乘以任何数都是0
2011-10-06 13:27
queifa
Rank: 1
等 级:新手上路
帖 子:25
专家分:9
注 册:2011-10-2
收藏
得分:0 
能不能说详细点啊,我还是不太到你说的,二楼。谢谢啊。。。。。。
2011-10-06 13:30
hjywyj
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:1114
专家分:2611
注 册:2010-4-14
收藏
得分:5 
v=3/4*pi*r*r*r;
3/4=0
0*pi=0
0*r=0
0*r=0
0*r=0
v=0;
2011-10-06 13:35
queifa
Rank: 1
等 级:新手上路
帖 子:25
专家分:9
注 册:2011-10-2
收藏
得分:0 
谢谢大神啊。。。。。。。
2011-10-06 13:40
zbjumper
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2009-10-31
收藏
得分:0 
问题主要在3/4,C语言默认3,还有4,是整形常数,所以他算出来还得是整形常数,3除以4的结果是商0,余3.所以结果变为0,;
可是写成3.0/4结果就是对的的原因是:3.0为float型,4为int型,由于两种类型不匹配,不能直接算,要把一种类型强制转换,(有一个转换原则,任何一本C语言的书都会提到)就是把int型转换成float,而不能向相反的方向转换。就变成3.0/4.0,结果仍为浮点型,所以是0.75。
2011-10-06 16:04
快速回复:刚学c语言,有个问题想请教下各位大虾。。。
数据加载中...
 
   



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

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