| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2694 人关注过本帖
标题:删除字符串中空格问题(第一个字母意外变成空格)
取消只看楼主 加入收藏
飞天大烧卖
Rank: 2
等 级:论坛游民
帖 子:45
专家分:27
注 册:2020-3-26
结帖率:100%
收藏
 问题点数:0 回复次数:5 
删除字符串中空格问题(第一个字母意外变成空格)
//删除在字符串中所有空格
int main(void)
{
    int i,j;
    char str[16]="a abc  abc  daf";//依次一个空格,2个空格,2个空格
    for(i=0;str[i] != '\0';i++)
    {
        if(str[i]==' ')//找到有空格的位置
        {
        for(j=i+1;str[i] != '\0';j++)
        {
            if(str[j]!=' ')//从有空格的位置往后找到第一个有字母的位置
            {
                str[i]=str[j];//把有字母的值赋到原先空格的位置
                str[j]=' ';//把原先的有数字的位置值赋值为空格
                break;
            }
        }
        }
     printf("%2c,%2d",str[0],i);
    }
    puts(str);
}




为什么在i为16的时候str[0]变成了空格?为什么字符数组会溢出,字符串末尾不是有默认结束符吗?
搜索更多相关主题的帖子: str 位置 字母 空格 字符串 
2020-04-07 08:35
飞天大烧卖
Rank: 2
等 级:论坛游民
帖 子:45
专家分:27
注 册:2020-3-26
收藏
得分:0 
我上传的图片可以看到吗?
结果是:
 a, 0 a, 1 a, 2 a, 3 a, 4 a, 5 a, 6 a, 8 a, 9 a, 10 a, 11 a, 12 a, 13 a, 14 a, 15  ,16 abcabcdaf
2020-04-07 08:40
飞天大烧卖
Rank: 2
等 级:论坛游民
帖 子:45
专家分:27
注 册:2020-3-26
收藏
得分:0 
回复 4楼 lin5161678
所以为什么str[0]在i等于16的时候变成空格啊?
2020-04-07 12:08
飞天大烧卖
Rank: 2
等 级:论坛游民
帖 子:45
专家分:27
注 册:2020-3-26
收藏
得分:0 
回复 6楼 wmf2014
我想找个磕头的表情没找到
2020-04-07 14:59
飞天大烧卖
Rank: 2
等 级:论坛游民
帖 子:45
专家分:27
注 册:2020-3-26
收藏
得分:0 
多谢大家
2020-04-07 15:02
飞天大烧卖
Rank: 2
等 级:论坛游民
帖 子:45
专家分:27
注 册:2020-3-26
收藏
得分:0 
回复 14楼 叶纤
本来是懂的,看你一筐杯子就晕了
2020-04-08 18:00
快速回复:删除字符串中空格问题(第一个字母意外变成空格)
数据加载中...
 
   



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

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