gpt4 book ai didi

c++ - 没有返回语句的 C 和 C++ 函数

转载 作者:可可西里 更新时间:2023-11-01 16:27:23 26 4
gpt4 key购买 nike

<分区>

在工作中查看代码时,我发现了一些(看似)令人反感的代码,其中函数具有返回类型,但没有返回。我知道代码有效,但假设它只是编译器中的错误。

我编写了以下测试并使用我的编译器运行它 (gcc (Homebrew gcc 5.2.0) 5.2.0)

#include <stdio.h>

int f(int a, int b) {
int c = a + b;
}

int main() {
int x = 5, y = 6;

printf("f(%d,%d) is %d\n", x, y, f(x,y)); // f(5,6) is 11

return 0;
}

类似于我在工作中找到的代码,这默认返回函数中执行的最后一个表达式的结果。

我找到了 this问题,但对答案不满意。我知道使用 -Wall -Werror 可以避免这种行为,但为什么它是一个选项?为什么这仍然被允许?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com