c语言中的pow(x, y)使用

比如#include<stdio.h>#include<math.h>intmain(void){inttemp=0;inti=2;temp=(double)i;prin... 比如
# include <stdio.h>
# include <math.h>

int main(void)
{
int temp = 0;

int i = 2;
temp = (double)i;

printf("number is %d\n", pow(10.0, temp)); //为什么这样写是输出99 ? 用什么方法可以让它输出100?
printf("number is %d\n", pow(10.0, 2.0));

retrun 0;

}

/*
我的编译环境是 codeblocks 10.5,求好心人帮忙。

*/
展开
 我来答
百度网友7b09013aa
推荐于2017-09-02
知道答主
回答量:22
采纳率:0%
帮助的人:15.7万
展开全部

return 写错啦

【【【【【【【【【【【

# include <stdio.h>

# include <math.h>

#include<windows.h>

int main()

{

int temp ;


int i = 2;

temp = i;

int p = pow(10.0, temp);

int m = pow(10.0, 2);

printf("number is %d\n", p);  //为什么这样写是输出99 ? 用什么方法可以让它输出100?

printf("number is %d\n", m);

Sleep(3000);

//return 0;


}

】】】】】】】】】

【亲测】 望采纳

娄学w
2014-07-31 · 超过14用户采纳过TA的回答
知道答主
回答量:67
采纳率:0%
帮助的人:10.9万
展开全部
你的temp为int 型,temp=(double)i 这样强制转换本来就是错误的写法,pow函数返回值是浮点型,所以输出用%d会出错
追问
thanks
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wwylele
2014-07-31 · TA获得超过2523个赞
知道小有建树答主
回答量:1037
采纳率:0%
帮助的人:1092万
展开全部
printf("number is %d\n", (int)pow(10.0, temp));

这样试试
顺便上面的int 型的temp为什么要接受(double)i
追问
我写的太快,写成int了也没有测试。不好意思。是从一段代码中截取的。然后就想当然的这样写了。谢谢了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式