求助一道C语言题!关于删除字符串中的某个字符.

来源:百度知道 编辑:UC知道 时间:2024/06/08 12:22:32
程序如下:
#include<stdio.h>
void main()
{
extern void enter_string(char str[]);
extern void delete_string(char str[],char ch);
extern void print_string(char str[]);
char c;
char str[80];
enter_string(str);
scanf("%c",&c);
delete_string(str);
print_string(str);
}
void enter_string(char str[80])
{
gets(str);
}
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';
}
void print_string(char str[])
{
printf("%s\n",str);
}

编译时提示出错信息:
删除字符串中的某个字符.c
E:\C程序库\删除字符串中的某个字符.c(11) : error C2198: 'delete_string' : too few actual parameters
Error executing cl.exe.

删除字符串中的某个字符.exe - 1 error(s), 0 warning(s)

这是什么意思,看不懂啊?程序错在哪呢?还有,error C2198中的2198

C2198是错误编号。

'delete_string' : too few actual parameters
Error executing cl.exe.

说是传给的参数少了。
原本delete_string函数不是两个参数吗,程序里写的delete_string(str);才给他传了一个参数,不够。

delete_string(str);这一句中的
delete_string(str)调用错误。
原来的delete_string的定义为:
extern void delete_string(char str[],char ch);

但你调用时参数少了一个(后面那个char ch)没有东西和它对应!