求指教关于编译并运行多个文件时出现的问题
题目:有一个字符串,内有若干个字符,输入一个字符,要求程序将字符串中该字符删去,用外部函数实现。
一共有4个文件,如下:
file 1:
----------
# include <stdio.h>
int main ()
{
extern void enter_string(char str[]);
extern void delete_string(char str[],char ch);
extern void print_string(char str[]);
char c,str[80];
enter_string (str);
printf ("enter the character(s) you wanna delete from the string: ");
scanf ("%c",&c);
delete_string (str,c);
print_string (str);
return 0;
}
------
file 2
---------
void enter_string(char str[])
{
printf ("enter ");
scanf ("%s",str);
}
-------
file 3
-----
void delete_string(char str[],char ch)
{
int i,j;
for (i=j=0;str[i]!='\0';i++)
{
if (str[i]!=ch)
str[j++]=str[i];
}
str[j]='\0';
}
file 4
---------
void print_string(char str[])
{
printf ("%s\n",str);
}
----------------
疑问:
1.又是编译时,出现 “**”undefined,assuming extern returning int ,星号部分的对象有时还不一样。
2.为什么 file2里面的 函数主体里面的 两个语句(红色字)运行不正确啊? 而将语句换成“gets(str)”运行就正确了!
string character
[解决办法]
如果用C编译,后两个文件是可以通过的