|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本题要求实现一个删除字符串中的指定字符的简单函数。
函数接口定义:
void delchar( char *str, char c );
其中char *str是传入的字符串,c是待删除的字符。函数delchar的功能是将字符串str中出现的所有c字符删除。
裁判测试程序样例:
- #include <stdio.h>
- #define MAXN 20
- void delchar( char *str, char c );
- //void ReadString( char s[] ); /* 由裁判实现,略去不表 */
- int main()
- {
- char str[MAXN], c;
- scanf("%c\n", &c);
- gets(str);
- delchar(str, c);
- printf("%s\n", str);
- return 0;
- }
- /* 你的代码将被嵌在这里 */
复制代码
我的:
void delchar( char *str, char c ){
int k=0;
for(;*str!='\0';str++){
if(*str!=c){
str[k]=*str;
k++;
}
}
str[k]='\0';
}
请问这个方法哪里有问题?
void delchar( char *str, char c ){
int k=0;
char *ch;
ch = str;
for(;*ch!='\0';ch++){
if(*ch!=c){
str[k]=*ch;
k++;
}
}
str[k]='\0';
}
我修改后的,我加了一个使用指针的值这样你在循环的时候就不会对指针改变了
|
|