#include "stdio.h"
#include "math.h"
main()
{
printf("%d",pow(2,3));
}
为什么输出结果为0?
pow(m,n);是求m的n次方,返回的是float型数据,这里就是将float转化成为了int 型以%d输出
请问float型在内存中是怎么样存放的?由float转化为int应该是截取后16位,那么答案也不可能是0撒?
再比如:printf("%d",234.0);为什么输出结果也是0?
而且在VS中pow(m,n)中的m和n都不能是整数。例如:pow(2,3)会提示参数错误,不过如果是:pow(2.0,3.0)就不会有问题