Chinaunix首页 | 论坛 | 博客
  • 博客访问: 437680
  • 博文数量: 71
  • 博客积分: 26
  • 博客等级: 民兵
  • 技术积分: 1246
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-23 14:46
个人简介

linux --- 一切皆文件

文章分类

全部博文(71)

文章存档

2021年(1)

2019年(2)

2018年(4)

2017年(7)

2016年(11)

2015年(1)

2014年(2)

2013年(33)

2012年(10)

分类: C/C++

2013-05-16 22:43:59

将一行字符,从头到尾相互调转一下。
使用方法,头尾调换,依次调换。
#include

#define MAXLEN 1000

int mygetline(char line[],int maxlen);
void reverser(char line[]);

int main(void)
{
    int c,len,maxlen;
    char line[MAXLEN];


    while((len = mygetline(line,MAXLEN)) > 0){
        reverser(line);
        printf("%s\n",line);
    }
    return 0;
}

int mygetline(char line[],int maxlen)
{
    int i,c;


    for(i = 0;i < maxlen -2 &&(c = getchar()) != EOF && c != '\n';i ++){
        line[i] = c;
    }
    if(c == '\n'){
        line[i] = '\n';
        i ++;
    }

    line[i] = '\0';
    return i;
}

void reverser(char line[])
{
    int i = 0;
    while(line[i] != '\n'){
    i ++;
    }
    i --;

    int j = 0,tmp;
    while(j < i){
        tmp = line[i];
        line[i] = line[j];
        line[j] = tmp;
        j ++;
        i --;
    }
}


阅读(1273) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~