C语言中用于函数声明的奇怪语法

时间:2017-10-13 09:42:41

标签: c gcc

我刚刚在C中遇到了一个奇怪的函数声明语法,这在C ++中是无效的。它是这样的:

#include <stdio.h>

void my_func (foo)
     int foo;
{
    printf("my_func printf foo = %d\n", foo);
}

int main () {

    my_func(1089);

    return 0;
}

根据我的推断,似乎它是一个函数定义,所有参数都是&#39;类型默认为int,如果我将int foo;替换为float foo;,我可以更改参数的类型。

但任何人都可以确认这只是发生了什么,为什么这个语法会退出?它是过去的遗物吗? 用g ++等编译时为什么它无效?

谢谢!

0 个答案:

没有答案