这样的不带参数的函数声明,在c中是合法的,表示任意参数;当然我们自己写代码最好不要这样写了,但是读老代码还是会遇到; 1#include <stdio.h>23voidfun();45intmain()6{7fun(1);8return0;9}1011voidfun(inta)12{13printf("%d\n", a);14} 下面贴一下函数声明的说明: int func();is an obsolescent ...
intfunc(); 这样的函数声明其意义就是一个参数 void(没有参数)的函数。然而今天在看C++的时候突然看到这么一句: 对于带空参数表的函数,C和C++有很大的不同。在C语言中,声明intfunc2(); 表示“一个可带任意参数(任意数目,任意类型)的函数”。这就妨碍了类型检查。而在C++语言中它就意味着“不带参数的函数”...
都是可以的 但是这样编译器就不能检查实参和形参是否匹配。 所以我们最好不要省略
不一定要带参数,但要定义参数的形式,写函数时才一定要带参数。
和写参数名的情况是一样的。 调用时按照参数列表类型,传入对应个数 类型匹配的实参就行。声明的时候,可以省略形参的参数名,而只保留类型。即 声明int fun(int , int);和声明 int fun(int a, int b);效果是完全一样的 。 调用的时候 都是传入两个整型参数即可。
第三种是正确的,因为C语言中函数并不关注声明的函数参数名称,因此定义时可以对函数参数取任意名称。注...
可以把参数a设置一个缺省值,这样就可以不加参数了 // 声明void f(int a = 0){ // ...}// 调用// f(), f(x)均可
写不写对程序运行没有任何差异。但是从可维护角度上说,写上void可以明确的表明该函数没有参数。
会。C语言中的函数在定义和声明时可以不传递参数,但在函数调用时如果未传递该函数所需的参数,则编译器会报错,从而导致程序编译失败。
不加形参说明执行函数不要在括号中加东西 例如函数int a(),在使用函数时,如果有返回值那就直接b=a();如果加形参int a(int a,int b),在使用时如果有返回值就要这样b=a(x,y),这个看你的情况而定,不加形参不一定错