2 5dc21454 2023-07-14 jrmu * 1-19. Write a function reverse(s) that reverses the character string s.
3 5dc21454 2023-07-14 jrmu * Use it to write a program that reverses its input a line at a time.
6 5dc21454 2023-07-14 jrmu /* MAXLINE has been reduced for easier testing */
7 5dc21454 2023-07-14 jrmu #include <stdio.h>
8 5dc21454 2023-07-14 jrmu #define MAXLINE 1000
10 5dc21454 2023-07-14 jrmu int getlin(char line[], int maxline);
11 5dc21454 2023-07-14 jrmu void copy(char to[], char from[]);
12 5dc21454 2023-07-14 jrmu int strln(char s[]);
13 5dc21454 2023-07-14 jrmu void rverse(char s[]);
17 5dc21454 2023-07-14 jrmu int len; /* current line length */
18 5dc21454 2023-07-14 jrmu char line[MAXLINE]; /* current input line */
20 5dc21454 2023-07-14 jrmu while ((len = getlin(line, MAXLINE)) > 0) {
21 5dc21454 2023-07-14 jrmu rverse(line);
22 5dc21454 2023-07-14 jrmu printf("%s\n", line);
27 5dc21454 2023-07-14 jrmu int strln(char s[])
30 5dc21454 2023-07-14 jrmu for (i=0; s[i] != '\0'; ++i)
35 5dc21454 2023-07-14 jrmu void rverse(char s[])
39 5dc21454 2023-07-14 jrmu len = strln(s);
41 5dc21454 2023-07-14 jrmu for (i = 0; i < len/2; ++i) {
43 5dc21454 2023-07-14 jrmu s[i] = s[len-1-i];
44 5dc21454 2023-07-14 jrmu s[len-1-i] = c;
48 5dc21454 2023-07-14 jrmu int getlin(char s[], int lim)
52 5dc21454 2023-07-14 jrmu for (i=0; i<lim-1 && (c=getchar())!=EOF && c!='\n'; ++i)
54 5dc21454 2023-07-14 jrmu if (c == '\n') {
57 5dc21454 2023-07-14 jrmu s[i] = '\0';
61 5dc21454 2023-07-14 jrmu void copy(char to[], char from[])
65 5dc21454 2023-07-14 jrmu while ((to[i] = from[i]) != '\0')