供你们参考,这是我想到的基本没警告的代码!
main.c
//#include <stdio.h> // 不注释也可以正常运行 #include "test.c" // 我通常不会引用*.c文件,因为这很容易引起重复定义的错误 void printLine(void) { printf("******************\n"); } int main(void) { say(); return 0; }
test.c
#include <stdio.h> extern void printLine(); // 添加这句防止隐式定义警告 static void say() // 可以理解为静态局部函数 { printLine(); printf("I love imooc\n"); printf("good good study!\n"); printf("day day up!\n"); printLine(); }
# 编译代码 gcc 版本 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC) gcc -Wall -Wextra -std=c99 -o main main.c test.c ./main ****************** I love imooc good good study! day day up! ******************