C语言: 如何读取一串数字并存储到数组

本文将介绍如何使用C语言读取一串以空格分隔的数字,并将它们存储到一个整数数组中。

**代码示例:**c#include <stdio.h>#include <stdlib.h>#include <string.h>

#define MAX_SIZE 100

int main() { char input[MAX_SIZE]; int numbers[MAX_SIZE]; int count = 0;

printf('请输入一串以空格分隔的数字: ');    fgets(input, sizeof(input), stdin);

// 使用strtok函数分割输入字符串    char *token = strtok(input, ' ');    while (token != NULL) {        numbers[count] = atoi(token);        count++;        token = strtok(NULL, ' ');    }

printf('您输入的数字为: ');    for (int i = 0; i < count; i++) {        printf('%d ', numbers[i]);    }

return 0;}

代码解释:

  1. 包含头文件: - stdio.h: 提供输入输出函数,如 printffgets。 - stdlib.h: 提供字符串转换函数 atoi。 - string.h: 提供字符串处理函数 strtok

  2. 定义常量和变量: - MAX_SIZE: 定义数组最大长度为 100。 - input: 用于存储用户输入的字符串。 - numbers: 用于存储转换后的数字。 - count: 记录存储的数字个数。

  3. 读取用户输入: - 使用 fgets 函数从标准输入读取一行字符串,存储到 input 数组。

  4. 分割字符串: - 使用 strtok 函数将输入字符串按照空格分割成多个子字符串。 - 循环读取每个子字符串,直到 token 为空。

  5. 字符串转换为数字: - 使用 atoi 函数将每个子字符串转换为整数,存储到 numbers 数组。

  6. 打印结果: - 循环遍历 numbers 数组,打印每个数字。

注意事项:

  • 上述代码假设用户输入的数字之间使用空格分隔。- 为了保证代码的健壮性,应该添加输入验证和错误处理机制。例如,检查用户输入是否为空,或者是否包含非数字字符。

希望本文能帮助您理解如何使用 C 语言读取一串数字并存储到数组中。如果您有任何问题,请随时提出。

C语言: 如何读取一串数字并存储到数组

原文地址: https://www.cveoy.top/t/topic/dft9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录