MyException - 我的异常网
当前位置:我的异常网» C语言 » 关于一个简单的函数返回值的精度有关问题

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

www.MyException.Cn  网友分享于:2013-02-20  浏览:0次
关于一个简单的函数返回值的精度问题
本帖最后由 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

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有