我正在寻找一种方法来遍历从 C 中的 getchar() 函数收集的字符串中的每个单词。我不能使用指针。句子中的每个单词都会对其进行一些处理,但不应受到其他单词的影响,我需要一种访问字母的方法,例如即使我在第三个单词处,buffer[k] 如果 k = 0 将给出第三个单词的第一个字母。
void read_line (char buffer[])
{
char character;
int i = 0;
for (i = 0; i < 32; ++i)
{
character = getchar ();
buffer[i] = character;
}
}
最佳答案
通常您会使用 strchr 来查找字符串中的空格,但由于您不能使用指针:
void read_line (char buffer[])
{
char character;
int i = 0;
for (i = 0; i < 32; ++i)
{
character = getchar ();
if (character == '\n')
break;
buffer[i] = character;
}
i = 0;
while (buffer[i] != '\n')
{
for (; buffer[i] != ' '; ++i)
// each iteration of this loop will be on the same word
++i;
}
}