这是我的代码:
#include <stdio.h>
#define NEW_LINE 10
#define TAB 9
#define SPACE 32
int main() {
int c;
int counter1 = 0;
int counter2 = 0;
int word[10][10] = { { 0 } };
while ((c = getchar()) != EOF) {
if (c != TAB && c != NEW_LINE && c != SPACE) {
word[counter1][counter2] = c;
++counter2;
} else {
counter2 = 0;
++counter1;
}
}
for (int a = 0; a <= 9; ++a) {
printf("\n");
for (int b = 0; b <= 9; ++b) {
printf("%4d", word[a][b]);
}
}
return 0;
}
我试图获取用户输入并保存出现的单词。我的想法是,我首先获取字母并将它们保存到一个数组中,形成一个单词,然后将每个单词保存到数组中(形成二维数组)。问题是我只打印出第一个字符数组,其余的由于某种原因被忽略。我是 C 编程的初学者,所以如果出现一些愚蠢的错误,请不要生气。
这是输出:
Hello World
87 111 114 108 100 0 0 0
只要您输入的分隔符不超过 10 个且长度不超过 10 个字母,代码看起来就可以。
发布的快照不完整:第一行对应于第二个单词
World
,但它的末尾应该有两个零,并且可以在图像底部看到另一行的顶部像素。尝试放大 VS Code 输出面板的大小。