永发信息网

输入一个字符串,按相反次序输出其中所有字符(要解释不是要答案)

答案:2  悬赏:30  手机版
解决时间 2021-05-06 15:14

#include<stdio.h>//输入一个字符串,按相反次序输出其中所有字符
main()
{
 char c1[100],c2[100],*p1,*p2;   
 int i=0,j=0,m;
 gets(c1);
 p1=c1;
 p2=c2;
 while (*p1++) i++;
 for (;;)
 {
  p2[j]=p1[i-1];
  j++;
  i--;
  if (i==0) break;
 }
 p2[j]='\0';    
 puts(p2);
}    //为什么输出答案不对?错在哪里了?输出成了“烫烫烫”  晕

最佳答案
#include<stdio.h>

void main()
{
    char c1[100]={0},c2[100]={0},*p1,*p2;  //初始化之后,即使后面不改,也不会再出现乱码了
    int i=0,j=0,m;
    gets(c1);
    p1=c1;
    p2=c2;
    while (*p1++) i++;
    for (;;)
    {
        // 方法1
        p1=c1;   // 指针归位,因为现在的指针已经不指向数组首地址的位置了
        p2=c2;
        p2[j]=p1[i-1];
        // 方法2
        //c2[j] = c1[i-1];   // 比较简单的方式还是直接用数据下标

        j++;
        i--;
        if (i==0) break;
    }
    p2[j]='\0';    
    puts(p2);
}
// 结果:

全部回答
\0 不能手动输入, 你可以将最后一个字符不进行赋值, 系统会自动设置成\0的.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在家玩魔兽信长很卡,但拿主机去网吧试就一点
沙包大的拳头怎么练的?
一个胖子和一个瘦子跳楼谁先到达地面?
心烦你们会怎么办啊
电脑缓冲时间超过一分钟你会生起发脾气吗?
炎亚纶和王子,哪个帅有点?
我电脑关不了机``一关机就重起``这是什么毛病
西安到上海怎么坐,又快又便宜
国航机票预订
手机拍摄的视频存在那个盘比较好点
在△ABC中,∠B=2∠C,AD是∠BAC的平分线,试
飞羽LRC歌词
鸡西领航商贸有限公司地址在什么地方,想过去
丝路英雄礼包?
阿波罗计划是哪国的
推荐资讯
阿房宫赋翻译一句一译,什么是黄婆卖瓜自卖自
关于iphone越狱问题
谁知道江苏的一些数控加工名企?
笔记本和台式电脑哪个耗电量大?
空间格式变小?
炫舞里什么歌节奏满连有1300
赖山坪这个地址在什么地方,我要处理点事
脸上张青春痘,有什么非常快速的方法可以解决
入学怎么绑定大区
广东三区CF带练升级在哪刷??
历史文化主题餐台设计
我进去了空间但是空间的游戏都不可以玩
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?