C - 控制到达非 void 函数的末尾 [-Wreturn-type]

标签 c

我有这个,当我尝试编译时,终端给我错误;有人可以帮助我吗?

int e=0;

float func(float x, float y, float z)
{
     e++;
     if((x*x)+(y*y)+(z*z)<=4)
     return 2.0;
}

最佳答案

应该做什么func如果(x*x)+(y*y)+(z*z)<=4则返回不是真的吗?您还没有定义这种情况,但函数中后面没有任何内容。控制流(即执行路径)已到达函数末尾,但没有返回任何内容,但应该返回一些内容,因为该函数是非 void 的。因此,“控制到达非 void 函数的末尾”。

关于C - 控制到达非 void 函数的末尾 [-Wreturn-type],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26500517/

相关文章:

C 编程 - 用于处理多维数组的函数中的指针

C程序似乎跳过了while循环

c - 如何为USB端口编写一个简单的C程序?

c - 为什么 GCC 不优化对 printf 的调用?

c - C 语言的 super 基本服务器-客户端应用程序

c - 内存分配如何在不显式分配的情况下为 char* 工作

c++ - "dereferencing"指针是什么意思?

没有main函数的C程序?

线程池可以运行在单线程函数上吗?

java - 如何将c toHex方法转换为java