标题:C语言反序输出字符串输出错误 求大神指正哪里错了
取消只看楼主
makuo
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2015-4-4
结帖率:100%
已结贴  问题点数:20 回复次数:4 
C语言反序输出字符串输出错误 求大神指正哪里错了
#include<stdio.h>
#include<string.h>
main()
{
    char a[3],b[4];
    int i,j;
    printf("请输入需要反序输出的数组:");
    gets(a);
    j=strlen(a)-1;   
    for (i=0;j>=0;i++)
    {
        b[j]=a[i];
        j--;
    }
    printf("反序后的数组为:");
    puts(b);


}
输入pot   本应该输出top   但是总是输出“top蘰op”是神马情况啊

[ 本帖最后由 makuo 于 2015-4-4 22:45 编辑 ]
搜索更多相关主题的帖子: include 神马 字符串 C语言 
2015-04-04 22:38
makuo
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2015-4-4
得分:0 
回复 2楼 wmf2014
为什么会出现这种情况呢?
2015-04-04 22:54
makuo
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2015-4-4
得分:0 
以下是引用wmf2014在2015-4-4 22:51:37的发言:

未加'\0',在"puts(b);"前面加一句"b='\0';"即可。

恩  问题直接就解决了
2015-04-04 23:00
makuo
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2015-4-4
得分:0 
以下是引用诸葛欧阳在2015-4-4 22:54:08的发言:

#include<stdio.h>
 #include<string.h>
 main()
 {
     char a[4],b[4];
     int i,j,t;
     printf("请输入需要反序输出的数组:");
     gets(a);
     j=strlen(a)-1;
  t=j;
     for (i=0;i<=t;i++)
     {
         b=a[j];
         j--;
     }
  b='\0';
     printf("反序后的数组为:");
     puts(b);

 }

应该是我的b数组没有'\0'造成的   谢谢大神啦
2015-04-04 23:01
makuo
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2015-4-4
得分:0 
回复 7楼 执笔画江山
是不是数组后边要以'\0'来结束而我刚刚没加导致无法结束
我是这么认为的哈
2015-04-04 23:12



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-443563-1-1.html




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

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