你的定义有问题
extern void enter_string(char str[]);
extern void delete_string(char str[],char ch);
extern void print_string(char str[]);
文件1中,这几个定义中的字符数组变量,应该是 char * str
当然,其他文件中也要相应的改过来
应该不是编译的时候出的错吧,我认为应该是链接的时候才会出错。
定义为extern 的函数,意思就是该函数的实现不在本文件,在其他obj文件中,因此编译的时候编译器是不会检查的,等链接的时候,会在本工程的.o文件中查找。
你确认在你编译链接file1的时候,其他文件都编译过,生成了相应的obj文件
能不能都用公共变量阿