Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C中运行以下代码时出错_C - Fatal编程技术网

在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);
}