首页 > 电脑

为什么我这个c语言编译时会出现警告(两条)

更新时间2019-01-30 15:08:33

#include<math.h>    //用平方和开平方必须用到math的函数库

int main()

{

    int a,b;

    a=5;

    b=pow(a,4);

 

    printf("b=%d",b);

    return b;

 

}


大致看了一下,以下两个地方可能需要商榷,仅供参考:

1、c语言中,pow()函数的输入参数和返回值均为float浮点型变量,具体如下:

原型:extern float pow(float x, float y);

用法:#include <math.h>

功能:计算x的y次幂。

说明:x应大于零,返回幂指数的结果。

程序中,语句为:b=pow(a,4);,函数返回float型,但b定义为int,引发类型不匹配,出现警告。


2、在最新的C99标准中,已经要求main()函数必须返回数值,以供上级调用者(例如系统)使用,

有两种定义方法:int main( void )  以及  int main( int argc, char *argv[] )

若不需要从命令行中获取参数,就使用int main(void) ;

否则的话,就用int main( int argc, char *argv[] )。

同时规定:main()函数如果返回0,则代表程序正常退出。通常,返回非零代表程序异常退出。

对于本例,在主程序的末尾,函数返回语句为:return b;,b的数值不会总是0,所以仍然会引发警告。

缺少函数定义

相关标签:c语言

上一篇:bat删除指定目录文件(D/)

下一篇:生态系统的种类之间的联系对环境的破坏的减少应该用什么模型