Nov 15, 2011

K & R C Programs Exercise 1-19

K and R C, Solution to Exercise 1-19:
Write a function reverse(str) that reverses the character string str. Use it to write program that reverse thes its input a line at a time. K and R C Programs Exercises provides the solution to all the exercises in the C Programming Language, second addition, by Brian W.Keringhan and Dennis M.Ritchie(Prentice Hall,1988). You can learn and solve K&R C Programs Exercise. Read more about C Programming Language .

```/***********************************************************
* You can use all the programs on  www.c-program-example.com
* for personal and learning purposes. For permissions to use the
* programs for commercial purposes,
* contact info@c-program-example.com
* To find more C programs, do visit www.c-program-example.com
* and browse!
*
*                      Happy Coding
***********************************************************/

#include "stdio.h"

#define MAXINLINE 1000 /* maximum input line size */

int get_lines(char line[], int maxline);
void reverse(char str[]);

/* print longest input line */
main() {

char line[MAXINLINE]; /* current input line */

while ((get_lines(line, MAXINLINE)) > 0) {

reverse(line);
printf("%s", line);

}

}

/* getline: read a line into s, return length */
int get_lines(char str[], int line) {
int c, i, j;

for (i = 0, j = 0; (c = getchar()) != EOF && c != '\n'; ++i) {
if (i < line - 1) {
str[j++] = c;
}
}
if (c == '\n') {
if (i <= line - 1) {
str[j++] = c;
}
++i;
}
str[j] = '\0';
return i;
}

/*reverse the string str*/
void reverse(char str[]) {
int i, j;
char temp;
i = 0;
while (str[i] != '\0')
++i;
--i;
if (str[i] != '\n')

--i;
j = 0;
while (j < i) {
temp = str[j];
str[j] = str[i];
str[i] = temp;
--i;
++j;
}
}

```
```Read more Similar C Programs
C Basic

K and R C Programs Exercise```

You can easily select the code by double clicking on the code area above.