| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2197 人关注过本帖
标题:一个关于定义字符数组
只看楼主 加入收藏
kknd84913
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2012-12-26
结帖率:0
收藏
 问题点数:0 回复次数:5 
一个关于定义字符数组
本来想定义2个字符型数组一个用来存放由键盘输入的字符串的,另一个用来存放下标是偶数位的字符串的,但是当定义完2数组后,再给数组一赋完值后数组2 就会出现烫和字符数组一中赋予的字符串不知道为什么!请教下高手!
代码如下:
main()
{
    int i,j=0;
    char temp;
    char str1[10],str2[10];
    printf("请输入要排列的字符串!\n");
    gets(str2);
    puts(str1);
}
搜索更多相关主题的帖子: 键盘 字符串 
2012-12-28 13:57
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
哥们,貌似你的中文不是很强啊,我联想半天,最后无奈发现——没看懂

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-28 14:01
kknd84913
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2012-12-26
收藏
得分:0 
回复 楼主 kknd84913
程序发错了应该是:
main()
{
    int i,j=0;
    char temp;
    char str1[10],str2[10];
    printf("请输入要排列的字符串!\n");
    gets(str1);
    puts(str2);
    for(i=0;str1[i]!='\0';i++)
    {
        if(i%2==0)
        {
            temp=str1[i];
            str2[j++]=temp;
        }
    }
    printf("取完偶数位字符组的数组是:\n");
    puts(str2);
问题就是:由键盘给字符数组str1赋值;后查询 str2的字符数组的时候:发现str1中的偶数下标的字符能赋给str2,但是赋完并显示完后,后面还有一大串的“烫烫”乱码和str1的字符元素在后面不知道是怎么回事!
如 :str1[10]是:asd
    那么显示的str2[10]就是:ad烫烫烫烫烫烫烫烫asd

[ 本帖最后由 kknd84913 于 2012-12-28 14:12 编辑 ]
2012-12-28 14:09
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你前面都知道查找'\0'为结束,到自己构造一个字符串的时候,就不知道需要在结束处放入一个'\0'?

授人以渔,不授人以鱼。
2012-12-28 14:13
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
本来,要取偶数位的字符,直接在原数组中按偶数下标提取就是了,不必要另外复制一个数组来储存。就算你复制,也不需要在循环中求模呀,+=2步进就可以了。再又返回来,字符串结束居然不加'\0',这明显是基础问题。老谭的书再烂,字符串用'\0'结束,也是说过的,每个人都知道,但总是忘记,什么叫基础,这就是了。

授人以渔,不授人以鱼。
2012-12-28 14:18
kknd84913
Rank: 1
等 级:新手上路
帖 子:61
专家分:0
注 册:2012-12-26
收藏
得分:0 
回复 5楼 TonyDeng
谢谢各位的解答 问题解决了 主要是字符类型的数据做的比较少忘了(习惯实数类型的了)  新构造一个数组其实是这题原本是要提取偶数下标的元素,并按由小到大来排列输出,只不过检查的时候发现这有问题为了方便就只发了问题部分;
2012-12-28 14:41
快速回复:一个关于定义字符数组
数据加载中...
 
   



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

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