| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
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了嘛。。。。 |   
 
 
 
 |