| 网站首页 | 业界新闻 | 群组 | 人才 | 技术文章 | 下载频道 | 博客 | 代码贴 | 编程论坛
绝地游戏外挂辅助教学千里之行 始于足下
共有 187 人关注过本帖
标题: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编辑过]

5 天前 10:42
rjsp
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:218
帖 子:5251
专家分:29118
注 册:2011-1-18
  得分:0 
字符串以 '\0' 结尾
5 天前 10:52
吕楠ln
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-12-7
  得分:0 
回复 2楼 rjsp
这个我明白,举个例子,为什么我把这个删去的时候,我输入awe,按道理来说应该输出ae,但是结果显示只有,a,麻烦大神详细解答下
5 天前 10:54
吹水佬
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:117
帖 子:4832
专家分:19785
注 册: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);
}
附件: 您没有浏览附件的权限,请 登录注册
5 天前 10:59
吕楠ln
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-12-7
  得分:0 
回复 4楼 吹水佬
为什么我把b[j] = '\0';去掉后,就是这样的
附件: 您没有浏览附件的权限,请 登录注册
5 天前 11:03
吕楠ln
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-12-7
  得分:0 
回复 2楼 rjsp
为什么我把b[j] = '\0';去掉后,就是这样的
附件: 您没有浏览附件的权限,请 登录注册
5 天前 11:04
吹水佬
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:117
帖 子:4832
专家分:19785
注 册:2014-5-20
  得分:0 
以下是引用吕楠ln在2017-12-7 11:03:39的发言:

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

为何要去掉?
5 天前 11:14
吕楠ln
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-12-7
  得分:0 
回复 7楼 吹水佬
最开始我写程序的时候,我没有这句话,我发现就会出问题,后来查资料,把这句话加上去,就正确了,我就搞不明白为什么
5 天前 11:15
吹水佬
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:117
帖 子:4832
专家分:19785
注 册:2014-5-20
  得分:20 
回复 8楼 吕楠ln
你3楼不是说了,这个是必需的,不要去掉。否则就不是“字符串”,就不能按字符串来处理(包括输入输出)。
5 天前 11:20
吕楠ln
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2017-12-7
  得分:0 
回复 9楼 吹水佬
明白了,谢谢大神,感谢感谢,初学者,很多都不懂
5 天前 11:29







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

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