diff options
author | zlg <zlg@zlg.space> | 2013-02-13 20:48:44 -0600 |
---|---|---|
committer | zlg <zlg@zlg.space> | 2013-02-13 20:48:44 -0600 |
commit | 5018e06c580dd21c958ec1672c26a3448faf0c55 (patch) | |
tree | cebbb56dad0a6b821cad3712c7977f6f9b0086ab /1-19_reverse-lines.c | |
parent | Fix 1-09's solution (diff) | |
download | knr-5018e06c580dd21c958ec1672c26a3448faf0c55.tar.gz knr-5018e06c580dd21c958ec1672c26a3448faf0c55.tar.bz2 knr-5018e06c580dd21c958ec1672c26a3448faf0c55.tar.xz knr-5018e06c580dd21c958ec1672c26a3448faf0c55.zip |
Add license file, reorganize project
Diffstat (limited to '1-19_reverse-lines.c')
-rw-r--r-- | 1-19_reverse-lines.c | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/1-19_reverse-lines.c b/1-19_reverse-lines.c deleted file mode 100644 index d87b625..0000000 --- a/1-19_reverse-lines.c +++ /dev/null @@ -1,54 +0,0 @@ -#include <stdio.h> - -#define MAXLINELENGTH 9001 - -int get_line(char s[], int limit) { - int c, i; - - for (i = 0; i < limit && (c = getchar()) != EOF && c != '\n'; ++i) { - s[i] = c; - } - - s[i] = '\0'; - - /* If I don't include this check, I can't handle blank lines */ - if (c == EOF && i == 0) { - return -1; - } else { - return i; - } - -} - -/* Directly reverse a line's contents. */ -void reverse(char input[], int size) { - int tmp; - int i = 0; - size--; - - /* If len and i are the same, then there's no reason to proceed */ - while (size > i) { - // Store the first character in a temporary spot... - tmp = input[i]; - - // ... and swap! - input[i] = input[size]; - input[size] = tmp; - - // Bring our numbers closer together - ++i; - --size; - } -} - -int main(void) { - // An int and a string to store each line's data in - int line_len; - char buffer[MAXLINELENGTH]; - - while ((line_len = get_line(buffer, MAXLINELENGTH)) != -1) { - reverse(buffer, line_len); - printf("%s\n", buffer); - } - return 0; -} |