| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 676 人关注过本帖
标题:删除字符串中的某种字符的函数!
取消只看楼主 加入收藏
wjfko
Rank: 1
等 级:新手上路
帖 子:15
专家分:3
注 册:2012-2-19
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:2 
删除字符串中的某种字符的函数!
编写一个函数string_cut(char str[],char c),其功能是删除字符串中所有的字符变量c,例如
   char str="abaca";char c='a';
   则执行string_cut(str,c)后,str的内容变为"bc"。

我的代码如下:

#include <stdio.h>
#include <string.h>
void string_cut(char str[],char c)
{
    int i,j;
    char str2[20];
    for(i=0,j=0;str[j]!='\0';i++,j++)
    {
        if(str[j]!=c)str2[i]=str[j];
        else {j++;str2[i]=str[j];}
    }
    str2[i]='\0';
    puts(str2);
}
void main()
{
    char str[20],c;
    gets_s(str);
    scanf_s("%c",&c);
    string_cut(str,c);
}

不知道问题出在哪里,反正是没有正确的删除。
如果在主函数里面给变量c初始化就可以删除了,但是调试的时候也很慢,而且我没有超过20个字符居然也报错!

希望帮忙指正,谢谢!
搜索更多相关主题的帖子: 函数 void 字符串 
2012-02-27 15:59
wjfko
Rank: 1
等 级:新手上路
帖 子:15
专家分:3
注 册:2012-2-19
收藏
得分:0 
2楼的朋友,用了你的方法,还是没有效果!
2012-02-27 16:19
wjfko
Rank: 1
等 级:新手上路
帖 子:15
专家分:3
注 册:2012-2-19
收藏
得分:0 
gets_s和scanf_s是Microsoft Visual Studio 2010中的新的函数名,就是gets和scanf,只是更加安全了。
2012-02-27 17:21
快速回复:删除字符串中的某种字符的函数!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016827 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved