c语言 类型问题,,,,,,

#include<stdio.h>doublepower(doublex,intn){inti;doublez=1;for(i=1;i<=n;i++){z*=x;}ret... #include<stdio.h>
double power(double x,int n)
{ int i;
double z=1;
for(i=1;i<=n;i++)
{
z*=x;
}
return z;
}
int main()
{
int b=3;
double a=1.5;
printf("%f\n",power(a,b));
}

中把double z=1 改为float时就出错这是为什么 还有知道的留下QQ可以交流下
展开
 我来答
福泽佑之IN
2014-02-10 · TA获得超过2474个赞
知道小有建树答主
回答量:727
采纳率:0%
帮助的人:696万
展开全部
float是用32位二进制表示的浮点数,而double是用64位。把double表示的数是不通直接隐式转换成float的,必须强转。当然也有可能某些编译器可以通过,但是有可能转换过去就越界了。
psxf91
2014-02-09 · TA获得超过428个赞
知道小有建树答主
回答量:558
采纳率:100%
帮助的人:485万
展开全部
我在windows vs2010 c++环境下改成float不报错,请问lz是什么环境?
追问
free c  window
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笑边
2014-02-09 · TA获得超过239个赞
知道答主
回答量:220
采纳率:0%
帮助的人:223万
展开全部
doubole是浮点型,1是整型的
追问
严格怎么讲
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式