例8.22
有一个字符串,内有若干个字符,今输入一个字符,要求程序将字符串中该字符删去。用外部函数实现。
file1.c(文件1)
main()
{extern enter-string(char str[80]);
extern delete-strin g(char str[ ],char ch);
extern print-string(char str[]);
/以上3行声明在本函数中将要调用的在其他文件中定义的3个函数*/
char c;
char str[80];
enter-string(str);
scanf("%c",&c);
delete-string(str,c);
print-string(str);
}
file2.c(文件2)
#include <stdio.h>
enter-string(char str[80])/定义外部函数enter-s
tring*/
{gets(str);} /读入字符串str*/
file3.c(文件3)
delete-string(char str[],char ch) /定义外部函数delete-string/
{int i,j;
for(i=j=0;str[i]!=′\0′;i++)
if(str[i]!=ch)
str[j++]=str[i];
str[j]=′\0′;
}
file4.c(文件4)
print-string(char str[])/定义外部函数print-string/
{
printf("%s",str);
}
运行情况如下:
abcdefgc(输入str)
c (输入要删去的字符)
abdefg (输出已删去指定字符的字符串)
有一个字符串,内有若干个字符,今输入一个字符,要求程序将字符串中该字符删去。用外部函数实现。
file1.c(文件1)
main()
{extern enter-string(char str[80]);
extern delete-strin g(char str[ ],char ch);
extern print-string(char str[]);
/以上3行声明在本函数中将要调用的在其他文件中定义的3个函数*/
char c;
char str[80];
enter-string(str);
scanf("%c",&c);
delete-string(str,c);
print-string(str);
}
file2.c(文件2)
#include <stdio.h>
enter-string(char str[80])/定义外部函数enter-s
tring*/
{gets(str);} /读入字符串str*/
file3.c(文件3)
delete-string(char str[],char ch) /定义外部函数delete-string/
{int i,j;
for(i=j=0;str[i]!=′\0′;i++)
if(str[i]!=ch)
str[j++]=str[i];
str[j]=′\0′;
}
file4.c(文件4)
print-string(char str[])/定义外部函数print-string/
{
printf("%s",str);
}
运行情况如下:
abcdefgc(输入str)
c (输入要删去的字符)
abdefg (输出已删去指定字符的字符串)