| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 686 人关注过本帖
标题:为什么不能停止(出现汉字)
只看楼主 加入收藏
songsfly
Rank: 1
来 自:厦门大学
等 级:新手上路
帖 子:44
专家分:0
注 册:2008-11-25
结帖率:100%
收藏
 问题点数:0 回复次数:9 
为什么不能停止(出现汉字)
#include "stdio.h"
void main()
{
    char a[1000],b[1000];
    int i;
    char yuanyin(char a[],char b[]);
    printf("请输入一个字符串\n");
    scanf("%s",a);
    printf("其中的元音字母为\n");
    yuanyin(a,b);
    for(i=0;b[i]!='\0';i++)printf("%c",b[i]);
}
char yuanyin(char a[],char b[])
{
    int i,j;
    for(i=0,j=0;a[i]!='\0';i++)
        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++;}
}
搜索更多相关主题的帖子: 汉字 
2008-11-25 21:27
t442444956
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2008-11-16
收藏
得分:0 
回复 楼主 songsfly 的帖子
你的输入格式!!!!!

七月之殇
2008-11-25 21:50
dillon
Rank: 1
等 级:新手上路
威 望:2
帖 子:183
专家分:0
注 册:2008-10-6
收藏
得分:0 
因为b[1000]后面部分是乱码。应在{    b[j]=a[i];j++;}后加b[j]=0;
2008-11-25 21:51
songsfly
Rank: 1
来 自:厦门大学
等 级:新手上路
帖 子:44
专家分:0
注 册:2008-11-25
收藏
得分:0 
输入格式没有问题吧,输入字符串时用%s
2008-11-25 21:52
songsfly
Rank: 1
来 自:厦门大学
等 级:新手上路
帖 子:44
专家分:0
注 册:2008-11-25
收藏
得分:0 
Dillon的正确啦~也谢谢t44的回答
2008-11-25 21:54
songsfly
Rank: 1
来 自:厦门大学
等 级:新手上路
帖 子:44
专家分:0
注 册:2008-11-25
收藏
得分:0 
#include "stdio.h"
void main()
{
    char a[1000],b[1000]={0};//这里要先把\0给b[],不然系统给它的就是乱码,最后输出的判断将无法遇到\0;
    int i;
    char yuanyin(char a[],char b[]);
    printf("请输入一个字符串\n");
    scanf("%s",a);
    printf("其中的元音字母为\n");
    yuanyin(a,b);
    for(i=0;b[i]!='\0';i++)printf("%c",b[i]);
}
char yuanyin(char a[],char b[])
{
    int i,j;
    for(i=0,j=0;a[i]!='\0';i++)
        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++;}
}
不过我是这样理解的,dillion的我不太明白你的思路,不过你给我提示了。
2008-11-25 22:01
小强12321
Rank: 1
来 自:河池
等 级:新手上路
帖 子:2
专家分:0
注 册:2008-11-25
收藏
得分:0 
我试过啊,还应该在{    b[j]=a[i];j++;}
后面加上
return b[j];

想学点东西,望大家指教
2008-11-25 22:06
dillon
Rank: 1
等 级:新手上路
威 望:2
帖 子:183
专家分:0
注 册:2008-10-6
收藏
得分:0 
把char yuanyin(char a[],char b[]) 改成void yuanyin(char a[],char b[])不用带返回值的
2008-11-25 22:10
yu8697593
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2008-11-21
收藏
得分:0 
除了把函数该成void型以外,在被调用函数的后面加上一句b[j]='\0';
2008-11-27 21:19
zqy110007
Rank: 3Rank: 3
来 自:外太空
等 级:论坛游民
威 望:6
帖 子:1493
专家分:82
注 册:2008-11-19
收藏
得分:0 
问题解决了吧?
我就走了

每个人都是蛤蟆,只是井的大小不同罢了.
沙石下的泉水,挖得越深,泉水越清.
2008-11-27 21:24
快速回复:为什么不能停止(出现汉字)
数据加载中...
 
   



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

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