鱼C论坛

 找回密码
 立即注册
查看: 2013|回复: 1

[已解决]逆序存放字符串,为什么没有输出结果?

[复制链接]
发表于 2020-12-10 12:24:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
#include<string.h>
int main()
{
        int x;
        char a[30], change(char[],int);
        gets(a);
        x=strlen(a);
        change(a,x);
        puts(a);
        return (0);
        
}

char change(char a[],int x)
{
        int i;
        char t;
        for(i=0;i<x/2;i++)
                {t=a[i];
                a[i]=a[x-i];
                a[x-i]=t;
                }
        
}
最佳答案
2020-12-10 13:27:40
  1. #include<stdio.h>
  2. #include<string.h>
  3. int main()
  4. {
  5.         char change(char[], int);
  6.         int i,x;
  7.         char a[30];
  8.         gets_s(a);
  9.         x = strlen(a);
  10.         change(a, x);
  11.         for(i = 0;i <= x;i++)     // 经过交换后,原数组末尾的结束标志 '\0' 被交换到了第 1 个元素,不能再 puts() 输出
  12.                 printf("%c",a[i]);
  13.         printf("\n");
  14.         return (0);

  15. }

  16. char change(char a[], int x)
  17. {
  18.         int i;
  19.         char t;
  20.         for (i = 0;i<x / 2;i++)
  21.         {
  22.                 t = a[i];
  23.                 a[i] = a[x - i];
  24.                 a[x - i] = t;
  25.         }
  26.         return 0;
  27. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-12-10 13:27:40 | 显示全部楼层    本楼为最佳答案   
  1. #include<stdio.h>
  2. #include<string.h>
  3. int main()
  4. {
  5.         char change(char[], int);
  6.         int i,x;
  7.         char a[30];
  8.         gets_s(a);
  9.         x = strlen(a);
  10.         change(a, x);
  11.         for(i = 0;i <= x;i++)     // 经过交换后,原数组末尾的结束标志 '\0' 被交换到了第 1 个元素,不能再 puts() 输出
  12.                 printf("%c",a[i]);
  13.         printf("\n");
  14.         return (0);

  15. }

  16. char change(char a[], int x)
  17. {
  18.         int i;
  19.         char t;
  20.         for (i = 0;i<x / 2;i++)
  21.         {
  22.                 t = a[i];
  23.                 a[i] = a[x - i];
  24.                 a[x - i] = t;
  25.         }
  26.         return 0;
  27. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-4 23:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表