gpt4 book ai didi

c - 没有定义类型的函数参数默认为int?我疯了吗?

转载 作者:太空狗 更新时间:2023-10-29 16:52:15 24 4
gpt4 key购买 nike

出于某种奇怪的原因,我正在用另一种不使用类型的语言复制一个示例,并且忘记将一个添加到函数定义参数中,但它起作用了。

#include <stdio.h>

char toChar(n) {
//sizeof n is 4 on my 32 bit system
const char *alpha = "0123456789ABCDEF";
return alpha[n];
}

int main() {
putchar(toChar(15)); //i.e.
return 0;
}

我确信 main 默认为 int 被某些标准的大多数编译器(但只返回),这是否也是其他函数的行为,或者这个实现是否定义?看起来很不寻常,我的编译器只是一个稍微过时的 GCC 端口 (MinGW)。

最佳答案

K&R 风格的函数声明:

void foo(n) 
int n;
{

}

如果未指定类型,则默认为 int。这在 C89 中有效,在 C99 中无效

关于c - 没有定义类型的函数参数默认为int?我疯了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5885156/

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