aboutsummaryrefslogtreecommitdiff
path: root/ch1/1-19_reverse-lines.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--ch1/1-19_reverse-lines.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/ch1/1-19_reverse-lines.c b/ch1/1-19_reverse-lines.c
index f92c6fa..4bb83d9 100644
--- a/ch1/1-19_reverse-lines.c
+++ b/ch1/1-19_reverse-lines.c
@@ -23,20 +23,16 @@
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. */
@@ -44,27 +40,23 @@ 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...
+ /* Store the first character in a temporary spot... */
tmp = input[i];
-
- // ... and swap!
+ /* ... and swap! */
input[i] = input[size];
input[size] = tmp;
-
- // Bring our numbers closer together
+ /* Bring our numbers closer together */
++i;
--size;
}
}
int main(void) {
- // An int and a string to store each line's data in
+ /* 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);