# 从空格分隔的整数输入字符串到int数组的C程序
在C编程中,有时候我们需要从用户输入的字符串中提取整数,并将其存储在一个整数数组中以便进行后续处理。本文将介绍如何编写一个简单的C程序,通过空格分隔的整数输入字符串,将其中的整数提取出来并存储在一个整数数组中。## 代码实现c#include #include // 函数声明void parseStringToIntArray(char *inputString, int *outputArray, int *size);int main() { // 定义输入字符串的最大长度 #define MAX_LENGTH 100 char inputString[MAX_LENGTH]; int outputArray[MAX_LENGTH]; int size = 0; // 提示用户输入空格分隔的整数字符串 printf("请输入空格分隔的整数字符串: "); fgets(inputString, MAX_LENGTH, stdin); // 调用函数将字符串解析为整数数组 parseStringToIntArray(inputString, outputArray, &size); // 打印解析得到的整数数组 printf("%解析得到的整数数组:%"); for (int i = 0; i < size; i++) { printf("%d ", outputArray[i]); } return 0;}// 将空格分隔的整数字符串解析为整数数组void parseStringToIntArray(char *inputString, int *outputArray, int *size) { char *token = strtok(inputString, " "); // 使用strtol函数将字符串转换为整数,并存储在数组中 while (token != NULL) { outputArray[*size] = strtol(token, NULL, 10); (*size)++; token = strtok(NULL, " "); }}
## 代码解释上述代码使用了C语言的标准库函数和字符串处理函数来实现从空格分隔的整数输入字符串到整数数组的转换。接下来,我们将通过几个关键步骤详细解释代码的实现。## 函数解释在程序的核心部分,我们定义了一个名为`parseStringToIntArray`的函数,用于将输入的字符串解析为整数数组。这个函数接受三个参数:输入字符串 `inputString`,输出整数数组 `outputArray`,以及数组大小的指针 `size`。函数内部使用 `strtok` 函数将字符串分割为整数部分,并通过 `strtol` 函数将分割得到的子字符串转换为整数,并存储在数组中。以上就是这个简单的C程序的主要实现和解释。通过这个程序,我们能够方便地从用户输入的空格分隔的整数字符串中提取整数,并将其存储在整数数组中,为后续的处理提供了基础。