相关疑难解决方法(0)

为什么没有参数的函数(与实际函数定义相比)编译?

我刚刚遇到某人的C代码,我很困惑为什么要编译.有两点我不明白.

首先,与实际函数定义相比,函数原型没有参数.其次,函数定义中的参数没有类型.

#include <stdio.h>

int func();

int func(param)
{
    return param;
}

int main()
{
    int bla = func(10);    
    printf("%d", bla);
}
Run Code Online (Sandbox Code Playgroud)

为什么这样做?我已经在几个编译器中测试过,它运行正常.

c parameters function-parameter function-prototypes

385
推荐指数
8
解决办法
5万
查看次数

空参数列表是什么意思?

我正在阅读的这本书指出,当你在c中声明一个不接受任何参数的函数,但是你不使用关键字void"函数调用可以传递它想要的任何参数".所以我尝试了这个.

int number();

int main(void)
{
    int x =1;
    printf("%d",number(x));
}

int number()
{
    return x;
}
Run Code Online (Sandbox Code Playgroud)

但它没有编译??? 这是如何运作的?

c parameters arguments

7
推荐指数
3
解决办法
6504
查看次数