|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
在函数最后一集中,有一个调用函数的题目,输入一个字符串,接着输入一个字符,最后输出删除这个字符之后的字符串。
分为4个代码
mian如下
#include <stdio.h>
extern char enter_string(char input[]);
extern char delete_string(char ch[],char c);
extern char printf_string(char out[]);
void main()
{
char c;
char str[255];
enter_string(str); //num1
scanf("%c",&c);
delete_string(str,c); //num2
printf_string(str); //num3
}
第二部如下
#include <stdio.h>
char delete_string(char ch[],char c)
{
int i,j;
for(i=j=0;ch[i]!='\0';i++)
{
if(ch[i] != c)
{
ch[j++] = ch[i];
}
}
ch[j] = '\0';
}
在第二步中我有点不理解,输入一个字符,如果ch[i] != c,则ch[j++] = ch[i]; 这样的话不是会将字符串的ch[j++]给覆盖了嘛。比如说输入了一串字符yi chuan zi fu,我输入了 i,第一次循环ch[0] != c, 进入if ,将ch[1]=ch[0],这样的话i不就被覆盖成y了嘛。。。。 |
|