我把我的理解都写在了代码的注释中了,如果有什么错误的地方,还请指正。
代码有很小的改动。主要是把输入输出重定向了。
word.h
1 2 3 4 5 6 |
#ifndef WORD_H #define WORD_H void read_word(char *word,int len); #endif // WORD_H |
line.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
#ifndef LINE_H #define LINE_H void clear_line(void); void add_word(const char *word); int space_remaining(void); void write_line(void); void flush_line(void); #endif // LINE_H |
word.c
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
#include <stdio.h> #include "word.h" //The format read_char is used to //turn '\n' and '\t' into ' '. int read_char(void) { int ch = getchar(); //把'\n'和'\t'转化为' '。 if (ch == '\n' || ch == '\t') return ' '; return ch; } void read_word(char *word,int |