鱼C论坛

 找回密码
 立即注册
查看: 1906|回复: 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

最佳答案

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-23 18:40:22 | 显示全部楼层
找到了
#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])
        while(i!=len)
        {
                to[i]=from[n];
                ++i;
                --n;
        }
        to[i]='\0';
        
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-23 18:52:52 | 显示全部楼层
倒置个字符串
#include <stdio.h>
#include <math.h>
void main()
{
        char ch;
        char p[256];
        int i = 0,j;
        printf("请输入一个字符串:");
        while((ch = getchar())!='\n')
        {
                p[i] = ch;
                i++;
        }
        printf("倒置后的字符串:");
        for(j = i-1;j>=0;j--)
        {
                printf("%c",p[j]);
        }
        printf("\n");
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

我是想知道我的结果为什么有那么多字该怎么改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-23 18:55:12 | 显示全部楼层
至于像你这么麻烦么??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

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

点评

SO??  详情 回复 发表于 2014-7-23 19:05
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

SO??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-7-23 19:24:03 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-7-27 15:22:31 | 显示全部楼层
函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-8-2 15:55:26 | 显示全部楼层
你没写'\0'
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-29 14:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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