📌  相关文章
📜  如何读取空格分隔的单词 - C 编程语言(1)

📅  最后修改于: 2023-12-03 15:38:55.433000             🧑  作者: Mango

如何读取空格分隔的单词 - C 编程语言

在 C 编程语言中,读取空格分隔的单词可以使用 scanf 函数。scanf 函数可以从标准输入流(通常是键盘输入)中读取数据,并根据格式字符串将数据解析成相应的类型。

scanf 函数格式字符串

scanf 函数的格式字符串包含了转换说明和格式控制字符,用来说明要读取的数据的类型和格式。读取空格分隔的单词时,我们需要使用字符串格式控制字符 "%s"。具体格式如下:

char str[100];

// 读取一个字符串
scanf("%s", str);

上面的代码将从标准输入流中读取一个字符串,并将其存储到 char 类型的数组 str 中。

需要注意的是,由于 scanf 函数会忽略空格、制表符和换行符,因此上面的代码只能读取一个单词。如果要读取多个单词,则需要使用循环结构,依次读取每个单词。示例如下:

char word[100];

// 读取多个单词
while (scanf("%s", word) != EOF) {
    // 处理读取到的单词
}

上面的代码将不断读取输入流中的单词,直到遇到文件结尾符 EOF。在每次循环内部,我们可以使用读取到的单词进行处理。

完整示例

下面是一个完整的示例程序,可以读取多个单词,并将其转换成小写形式输出。

#include <stdio.h>
#include <ctype.h>
#include <string.h>

#define MAX_WORDS 100

int main() {

    char word[MAX_WORDS];

    while (scanf("%s", word) != EOF) {
        // 转换成小写形式
        for (int i = 0; i < strlen(word); i++) {
            word[i] = tolower(word[i]);
        }
        printf("%s ", word);
    }

    return 0;
}
结论

在 C 编程语言中,通过使用 scanf 函数和字符串格式控制字符 "%s",可以方便地读取空格分隔的单词。为了读取多个单词,需要使用循环结构,并在每次循环内部对读取到的单词进行处理。