C/C++错误集锦(VS2015):告警:main.c(7): warning C4013: “add”未定义;假设外部返回 int,而且2个浮点数相加得到的结果不正确:

原文链接:http://www.juzicode.com/cpp-error-vs2015-warning-c4013/

错误提示:

存在告警:main.c(7): warning C4013: “add”未定义;假设外部返回 int,而且2个浮点数相加得到的结果不正确:

//juzicode.com;vx:桔子code 
#include "stdio.h"
int main(void)
{
    printf("juzicode.com;vx:桔子code\n");
    float c = add(11.1, 55.5);
    printf("c = %f \n", c);
    return 0;
}
float add(float a, float b)
{
    return a + b;
}
运行结果==========:
juzicode.com;vx:桔子code
c = 25.000000

错误原因:

1、float add(float a, float b)在main()调用之后定义,且未在调用前声明,导致告警假定add()函数返回的是int型,发生了数据类型转换错误。

解决方法:

1、在mani()调用前增加函数声明:

//juzicode.com;vx:桔子code 
#include "stdio.h"
float add(float a, float b);//在调用前声明
int main(void)
{
    printf("juzicode.com;vx:桔子code\n");
    float c = add(11.1, 55.5);
    printf("c = %f \n", c);
    return 0;
}
float add(float a, float b)
{
    return a + b;
}
运行结果==========:
juzicode.com;vx:桔子code
c = 66.599998

如果本文还没有完全解决你的疑惑,你也可以在微信公众号“桔子code”后台给我留言,欢迎一起探讨交流。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注