Skip to content

所有的变量和函数都必须有类型

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的无参函数