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,求好心人帮忙。
*/ 展开
# 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,求好心人帮忙。
*/ 展开
展开全部
你的temp为int 型,temp=(double)i 这样强制转换本来就是错误的写法,pow函数返回值是浮点型,所以输出用%d会出错
追问
thanks
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
printf("number is %d\n", (int)pow(10.0, temp));
这样试试
顺便上面的int 型的temp为什么要接受(double)i
这样试试
顺便上面的int 型的temp为什么要接受(double)i
追问
我写的太快,写成int了也没有测试。不好意思。是从一段代码中截取的。然后就想当然的这样写了。谢谢了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询