鱼C论坛

 找回密码
 立即注册
查看: 2391|回复: 9

把输入的字符倒输出现一堆字是什么原因啊

[复制链接]
发表于 2014-7-23 18:40:21 | 显示全部楼层 |阅读模式
5鱼币
#include<stdio.h>
#define MAXLINE 1000
int getline(char s[]);
void reverse(char to[],char from[]);
int len;

main()
{
        char line[MAXLINE];
        char daoshu[MAXLINE];
        while((len=getline(line))>0)
        {
                reverse(daoshu,line);
                printf("%s",daoshu);
        }
}
int getline(char s[])
{
        int c,i;
        for(i=0;(c=getchar())!=EOF&&c!='\n';++i)
        {
                s[i]=c;
        }
        if(c=='\n')
        {
                s[i]=c;
                ++i;
        }
        s[i]='\0';
        return i;
}
void reverse(char to[],char from[])
{
        int i=0,n=len-1;
        while(to[i]=from[n])
        {
                ++i;
                --n;
        }
        to[i+1]='\0';
       
}

QQ图片20140723184214.jpg

最佳答案

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-7-23 18:40:22 | 显示全部楼层
找到了
  1. #include<stdio.h>
  2. #define MAXLINE 1000
  3. int getline(char s[]);
  4. void reverse(char to[],char from[]);
  5. int len;

  6. main()
  7. {
  8.         char line[MAXLINE];
  9.         char daoshu[MAXLINE];
  10.         while((len=getline(line))>0)
  11.         {
  12.                 reverse(daoshu,line);
  13.                 printf("%s",daoshu);
  14.         }
  15. }
  16. int getline(char s[])
  17. {
  18.         int c,i;
  19.         for(i=0;(c=getchar())!=EOF&&c!='\n';++i)
  20.         {
  21.                 s[i]=c;
  22.         }
  23.         if(c=='\n')
  24.         {
  25.                 s[i]=c;
  26.                 ++i;
  27.         }
  28.         s[i]='\0';
  29.         return i;
  30. }
  31. void reverse(char to[],char from[])
  32. {
  33.         int i=0,n=len-1;
  34.         //while(to[i]=from[n])
  35.         while(i!=len)
  36.         {
  37.                 to[i]=from[n];
  38.                 ++i;
  39.                 --n;
  40.         }
  41.         to[i]='\0';
  42.        
  43. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-7-23 18:52:52 | 显示全部楼层
倒置个字符串
  1. #include <stdio.h>
  2. #include <math.h>
  3. void main()
  4. {
  5.         char ch;
  6.         char p[256];
  7.         int i = 0,j;
  8.         printf("请输入一个字符串:");
  9.         while((ch = getchar())!='\n')
  10.         {
  11.                 p[i] = ch;
  12.                 i++;
  13.         }
  14.         printf("倒置后的字符串:");
  15.         for(j = i-1;j>=0;j--)
  16.         {
  17.                 printf("%c",p[j]);
  18.         }
  19.         printf("\n");
  20.         return 0;
  21. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-7-23 18:55:05 | 显示全部楼层

我是想知道我的结果为什么有那么多字该怎么改
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-7-23 18:55:12 | 显示全部楼层
至于像你这么麻烦么??
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-7-23 18:56:36 | 显示全部楼层
牡丹花下死做鬼 发表于 2014-7-23 18:55
至于像你这么麻烦么??

哥哥我现在学的是编写函数

点评

SO??  详情 回复 发表于 2014-7-23 19:05
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-7-23 19:05:27 | 显示全部楼层
千寻0 发表于 2014-7-23 18:56
哥哥我现在学的是编写函数

SO??
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-7-23 19:24:03 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-7-27 15:22:31 | 显示全部楼层
函数
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2014-8-2 15:55:26 | 显示全部楼层
你没写'\0'
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-11 10:30

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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