Path: blob/master/languages/cprogs/Ex_1.19_reversestr.c
1240 views
/**1* Exercise 1.19 - Write a function reverse that reverses the character2* string s; use it to write a program that reverses its input a line at a time.3*4**/56#include<stdio.h>78#define MAXLINE 1000910int mgetline(char line[], int lim);1112void reverse(char rline[]);131415int main(void)16{17int len;18char line[MAXLINE];1920while((len = mgetline(line, MAXLINE)) > 0 )21{22reverse(line);23printf("%s",line);24}2526return 0;27}282930int mgetline(char s[],int lim)31{32int i,c;3334for(i=0; i<lim-1 && (c=getchar()) != EOF && c != '\n'; ++i)35s[i] = c;3637if( c == '\n')38{39s[i] = c;40++i;41}42s[i] = '\0';4344return i;45}464748void reverse(char rline[])49{50int i,j;51char temp;5253for(i=0;rline[i]!='\0';++i)54;5556--i;5758if(rline[i]=='\n') --i;5960j = 0;6162while(j < i)63{64temp = rline[j];65rline[j] = rline[i];66rline[i] = temp;67--i;68++j;69}70}717273