所有的变量和函数都必须有类型
c
#include <stdio.h>
#include <stdlib.h>
//i没有写类型,可以是任意类型
int fun1(i) {
printf("%d\n", i);
return 0;
}
//i没有写类型,可以是任意类型
int fun2(i) {
printf("%s\n", i);
return 0;
}
//没有写参数,代表可以传任何类型的实参
int fun3() {
printf("fun33333333333333333\n");
return 0;
}
//C语言,如果函数没有参数,建议写void,代表没有参数
int fun4(void) {
printf("fun4444444444444\n");
return 0;
}
// 没有返回值类型,也没有参数及类型
g() {
return 10;
}
int main(int argc, char *argv[]) {
fun1(10);
fun2("abc");
fun3(1, 2, "abc");
printf("g = %d\n", g());
return 0;
}
以上代码在Visual Studio 2022中C语言环境下已无法正常运行,会在调用func2
函数后报错。C++环境下更是无法编译通过。
- 在C中,
int fun()
表示返回值为int
,接受任意参数的函数,int fun(void)
表示返回值为int
的无参函数 - 在C++ 中,
int fun()
和int fun(void)
具有相同的意义,都表示返回值为int的无参函数。