在C中运行以下代码时出错
我是一名新手程序员,在运行以下代码时遇到错误:在C中运行以下代码时出错,c,C,我是一名新手程序员,在运行以下代码时遇到错误: #include<stdio.h> #include<math.h> int main() { int num=8,a=pow(10,num); printf("\n%d",a); } 当我运行这段代码时,对于num的偶数值,我得到一个相差1的值。我用GNU GCC编译器在代码::块中运行了这个。 下面是我的输出屏幕截图 输出屏幕: 请参阅此链接: 数字精度:这个话题一直在讨论……为什么要将pow的返回值
#include<stdio.h>
#include<math.h>
int main()
{
int num=8,a=pow(10,num);
printf("\n%d",a);
}
当我运行这段代码时,对于num的偶数值,我得到一个相差1的值。我用GNU GCC编译器在代码::块中运行了这个。
下面是我的输出屏幕截图
输出屏幕:
请参阅此链接:
数字精度:这个话题一直在讨论……为什么要将pow的返回值(双精度)赋给int?为什么您要向我们显示num=8的代码,这显然不是您运行以获得屏幕转储的代码?
#include<stdio.h>
#include<math.h>
int main()
{
int num=8;
double a=pow(10,num);/* return type of pow() is double not int */
printf("\n%f",a);
}