函数、数组简单问题,我不理解啊
这是输入字符串,再删的问题#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[]); // 以上3行声明在本函数中将要调用的已在其他文件中定义的3个函数
char c,str[80];
enter_string(str); // 调用在其他文件中定义的enter_string函数
scanf("%c",&c);
delete_string(str,c); // 调用在其他文件中定义的delete_string函数
print_string(str); // 调用在其他文件中定义的print_string函数
return 0;
}
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];} //关键这不懂:若i=j=0,不是把str[0]赋给str[1]了吗???再继续循环下去不是乱套了吗?
str[j]='\0';
}
void print_string(char str[])
{
printf("%s\n",str);
}