C语言多个输入中用空格输入
时间: 2024-09-17 13:04:14 浏览: 64
在C语言中,如果你想从标准输入(如键盘)接收用户的多个输入值,并且它们之间用空格分隔,你可以使用`scanf()`函数配合数组或者动态内存分配来实现。这里有一个基本示例:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_INPUTS 5 // 根据需要调整最大输入数
int main() {
int inputs[MAX_INPUTS]; // 定义一个整数数组存储输入
int count = 0; // 记录输入的数量
printf("请输入多个空格分隔的整数(最多 %d 个): ", MAX_INPUTS);
while (count < MAX_INPUTS) { // 读取直到达到最大数量
if (scanf("%d", &inputs[count]) == 1) { // 如果成功读入一个整数
count++; // 增加计数
} else if (feof(stdin)) { // 如果遇到文件结束符(用户可能按了Ctrl+D)
break;
} else { // 如果不是整数或输入错误
printf("无效输入,请输入整数: ");
rewind(stdin); // 将输入流重置到开始,以便下一次尝试
}
}
printf("你输入的数字有: ");
for (int i = 0; i < count; i++) {
printf("%d ", inputs[i]);
}
printf("\n");
return 0;
}
```
在这个例子中,程序会不断等待用户的输入,直到输入了指定数量的整数为止。如果输入的不是整数或者超过最大限制,程序会提示用户重新输入。
阅读全文