| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1534 人关注过本帖
标题:C语言程序求助,球解答疑惑?
只看楼主 加入收藏
吕楠ln
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-12-7
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
C语言程序求助,球解答疑惑?
int i = 0,j = 0;
    while(a[i] != '\0')
    {
        if(a[i] == 'a' || a[i] == 'A' || a[i] == 'e' || a[i] == 'E' || a[i] == 'i' || a[i] == 'I' || a[i] == 'o' || a[i] == 'O' || a[i] == 'u' || a[i] == 'U')
        {
            b[j] = a[i];
            j++;
        }
            i++;
    }
    b[j] = '\0';
}
对于这一段代码,我不明白这个b[j] = '\0';到底什么意思,当我把这句话删除时,就会有问题,例如,我输入yyyya,程序输出是空的,我输入awe,输出只有a,没有元音字母e,当我把b[j] = '\0';加上的时候,就可以正常输出,我很疑惑,为什么我不加这句话,就会有这样的问题,举例,我输入yya,第三个是元音字母,应该会输出a,结果什么都没有,

[此贴子已经被作者于2017-12-7 10:44编辑过]

搜索更多相关主题的帖子: C语言 || 输入 输出 字母 
2017-12-07 10:42
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
字符串以 '\0' 结尾
2017-12-07 10:52
吕楠ln
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-12-7
收藏
得分:0 
回复 2楼 rjsp
这个我明白,举个例子,为什么我把这个删去的时候,我输入awe,按道理来说应该输出ae,但是结果显示只有,a,麻烦大神详细解答下
2017-12-07 10:54
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10537
专家分:42927
注 册:2014-5-20
收藏
得分:0 
好象没问题
图片附件: 游客没有浏览图片的权限,请 登录注册

#include <stdio.h>
main()
{
    char a[100], b[100];
    int i = 0,j = 0;
    scanf("%s",a);
    while(a[i] != '\0')
    {
        if(a[i] == 'a' || a[i] == 'A' || a[i] == 'e' || a[i] == 'E' || a[i] == 'i' || a[i] == 'I' || a[i] == 'o' || a[i] == 'O' || a[i] == 'u' || a[i] == 'U')
        {
            b[j] = a[i];
            j++;
        }
        i++;
    }
    b[j] = '\0';
    printf("%s\n",b);
}
2017-12-07 10:59
吕楠ln
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-12-7
收藏
得分:0 
回复 4楼 吹水佬
为什么我把b[j] = '\0';去掉后,就是这样的
图片附件: 游客没有浏览图片的权限,请 登录注册
2017-12-07 11:03
吕楠ln
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-12-7
收藏
得分:0 
回复 2楼 rjsp
为什么我把b[j] = '\0';去掉后,就是这样的
图片附件: 游客没有浏览图片的权限,请 登录注册
2017-12-07 11:04
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10537
专家分:42927
注 册:2014-5-20
收藏
得分:0 
以下是引用吕楠ln在2017-12-7 11:03:39的发言:

为什么我把b[j] = '\0';去掉后,就是这样的

为何要去掉?
2017-12-07 11:14
吕楠ln
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-12-7
收藏
得分:0 
回复 7楼 吹水佬
最开始我写程序的时候,我没有这句话,我发现就会出问题,后来查资料,把这句话加上去,就正确了,我就搞不明白为什么
2017-12-07 11:15
吹水佬
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:451
帖 子:10537
专家分:42927
注 册:2014-5-20
收藏
得分:20 
回复 8楼 吕楠ln
你3楼不是说了,这个是必需的,不要去掉。否则就不是“字符串”,就不能按字符串来处理(包括输入输出)。
2017-12-07 11:20
吕楠ln
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-12-7
收藏
得分:0 
回复 9楼 吹水佬
明白了,谢谢大神,感谢感谢,初学者,很多都不懂
2017-12-07 11:29
快速回复:C语言程序求助,球解答疑惑?
数据加载中...
 
   



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

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