| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 448 人关注过本帖
标题:字符删除的题,输不出结果不知道什么原因,求大神指点?
只看楼主 加入收藏
j521887
Rank: 2
等 级:论坛游民
帖 子:26
专家分:42
注 册:2014-7-21
结帖率:100%
收藏
 问题点数:0 回复次数:7 
字符删除的题,输不出结果不知道什么原因,求大神指点?
int main()
{
    char str[50];
    char ch;
    int i,j,index;
    scanf("%s",str);
    getchar();
    scanf("%c",&ch);
    for(i=0;str[i]!='\0';i++)
    {
        if(str[i]==ch)
        {
            for(j=index;j<strlen(str);j++)
            {
                str[j]=str[j+1];
            }
            i=i-1;
        }
    }
    printf("%s",str);
    return 0;
}
2014-07-27 13:31
砖家的谎言
Rank: 12Rank: 12Rank: 12
等 级:禁止访问
威 望:30
帖 子:693
专家分:3898
注 册:2013-12-6
收藏
得分:0 
在两个scanf之间加一个 fllush(stdin)

我不是砖家,要努力成为砖家。
2014-07-27 14:21
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
是你写的代码吗?是的话请回答下面的问题
for(i=0;str[i]!='\0';i++)
{
if(str[i]==ch)
{
for(j=index;j<strlen(str);j++)    index等于多少?
{
str[j]=str[j+1];
}
i=i-1; 这句话是要做什么?
}
}

[ 本帖最后由 embed_xuel 于 2014-7-27 15:02 编辑 ]

总有那身价贱的人给作业贴回复完整的代码
2014-07-27 15:00
j521887
Rank: 2
等 级:论坛游民
帖 子:26
专家分:42
注 册:2014-7-21
收藏
得分:0 
回复 3 楼 embed_xuel
guan关键是那个index=i没写上,i=i-1是为了保证数组下标的,谢谢。
2014-07-27 17:23
j521887
Rank: 2
等 级:论坛游民
帖 子:26
专家分:42
注 册:2014-7-21
收藏
得分:0 
回复 2 楼 砖家的谎言
,刚学,这个我没看懂。不过还是谢谢。
2014-07-27 17:24
yanglin_gdqy
Rank: 2
等 级:论坛游民
威 望:3
帖 子:59
专家分:86
注 册:2013-12-2
收藏
得分:0 
回复 5 楼 j521887
那个叫清键盘缓存,就是清掉键盘被输入但还未被读取的信息,比如你输入123abc,当你代码读完123就来了那句,那么后面abc就会被清除掉了,接着即使再来读取的语句也是读不到abc的。
2014-07-31 04:39
阿肥学c语言
Rank: 1
等 级:新手上路
帖 子:9
专家分:8
注 册:2014-7-15
收藏
得分:0 
int main()
 {
     char str[50];
     char ch;
     int i,j,index;
     scanf("%s",str);
     getchar();
     scanf("%c",&ch);
     for(i=0;str[i]!='\0';i++)
     {
         if(str[i]==ch)
         {
             index=i;//对index进行赋值  让str[j]对应所要删除的字符
             for(j=index;j<strlen(str);j++)
             {
                 str[j]=str[j+1];
             }
             i=i-1;//从被删除位开始查找所要删除的字符
         }
     }
     printf("%s",str);
     return 0;
 }
2014-07-31 16:12
阿肥学c语言
Rank: 1
等 级:新手上路
帖 子:9
专家分:8
注 册:2014-7-15
收藏
得分:0 
int main()
 {
     char str[50];
     char ch;
     int i,j,index;
     scanf("%s",str);
     getchar();
     scanf("%c",&ch);
     for(i=0;str[i]!='\0';i++)
     {
         if(str[i]==ch)
         {
             index=i;//对index进行赋值  让str[j]对应所要删除的字符
             for(j=index;j<strlen(str);j++)
             {
                 str[j]=str[j+1];
             }
             i=i-1;//从被删除位开始查找所要删除的字符
         }
     }
     printf("%s",str);
     return 0;
 }
2014-07-31 16:12
快速回复:字符删除的题,输不出结果不知道什么原因,求大神指点?
数据加载中...
 
   



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

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