小编Zai*_*Bie的帖子

C带参数且无类型指示的功能仍然有效?

代码如下:

int func(param111)
{
    printf("%d\n", param111);
    return param111;
}

int main()
{
    int bla0 = func(99);
    int bla1 = func(10,99);
    int bla2 = func(11111110,99,10001);
    printf("%d, %d, %d\n", bla0, bla1, bla2);
}
Run Code Online (Sandbox Code Playgroud)

编译结果:

zbie@ubuntu:~$ gcc -Wall -g -std=c99 -O2 zeroparam.c

zeroparam.c: In function ‘func’:

zeroparam.c:2: warning: type of ‘param111’ defaults to ‘int’
Run Code Online (Sandbox Code Playgroud)

运行结果:

zbie@ubuntu:~$ ./a.out

99

10

11111110

99, 10, 11111110
Run Code Online (Sandbox Code Playgroud)

我知道如果带有零参数的func,例如int func()接受任何输入,代码应该没问题.但是这个代码如何编译并成功运行?

c

18
推荐指数
2
解决办法
4410
查看次数

标签 统计

c ×1