首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

关于一个简单的函数返回值的精度有关问题

2013-02-19 
关于一个简单的函数返回值的精度问题本帖最后由 deng529828 于 2013-02-08 11:41:31 编辑在写代码的时候碰

关于一个简单的函数返回值的精度问题
本帖最后由 deng529828 于 2013-02-08 11:41:31 编辑 在写代码的时候碰到了这样一个问题。通过代码来看吧。
代码1:


#include<stdio.h>
#include<math.h>

int main()
{
int t;
int a = 10,i = 2;
t = pow(a,i);
printf("%d",t);
}


代码2:

#include<stdio.h>
#include<math.h>

int main()
{
int t;
//int a = 10,i = 2;
t = pow(10,2);
printf("%d",t);
}


第一个输出99,第二个输出100,这是为什么呢?虽然pow是float型,但也不至于出现这种错误吧?
[解决办法]
float t;
printf("%f",t); // 改成浮点输出就明白了。你的数被截断了


[解决办法]
我的事VC6.0,两个都是输出100.不知道是不是编译器的bug

热点排行