C语言: 如何读取一串数字并存储到数组
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;}
代码解释:
-
包含头文件: -
stdio.h: 提供输入输出函数,如printf和fgets。 -stdlib.h: 提供字符串转换函数atoi。 -string.h: 提供字符串处理函数strtok。 -
定义常量和变量: -
MAX_SIZE: 定义数组最大长度为 100。 -input: 用于存储用户输入的字符串。 -numbers: 用于存储转换后的数字。 -count: 记录存储的数字个数。 -
读取用户输入: - 使用
fgets函数从标准输入读取一行字符串,存储到input数组。 -
分割字符串: - 使用
strtok函数将输入字符串按照空格分割成多个子字符串。 - 循环读取每个子字符串,直到token为空。 -
字符串转换为数字: - 使用
atoi函数将每个子字符串转换为整数,存储到numbers数组。 -
打印结果: - 循环遍历
numbers数组,打印每个数字。
注意事项:
- 上述代码假设用户输入的数字之间使用空格分隔。- 为了保证代码的健壮性,应该添加输入验证和错误处理机制。例如,检查用户输入是否为空,或者是否包含非数字字符。
希望本文能帮助您理解如何使用 C 语言读取一串数字并存储到数组中。如果您有任何问题,请随时提出。
原文地址: https://www.cveoy.top/t/topic/dft9 著作权归作者所有。请勿转载和采集!