| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1016 人关注过本帖
标题: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
快速回复:C语言反序输出字符串输出错误 求大神指正哪里错了
数据加载中...
 
   



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

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