c语言不指定长度数组输入整数,通过回车结束输入
时间: 2024-10-25 07:07:44 浏览: 110
在C语言中,如果你想要在不指定数组长度的情况下接收用户输入的一系列整数,直到用户按下回车键为止,通常可以使用`fgets()`函数配合`sscanf()`解析来实现。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
#define MAX_INPUT 100 // 假设最大输入长度为100
int main() {
int arr[MAX_INPUT], num, i = 0;
char input[80]; // 用于存储用户的输入
printf("请输入一系列整数,按回车键结束输入:\n");
fgets(input, sizeof(input), stdin);
// 检查是否输入了回车
if (input[strlen(input) - 1] != '\n') {
// 如果不是,追加一个换行符以便后续处理
input[strlen(input)] = '\n';
}
while (sscanf(input, "%d", &num) == 1 && i < MAX_INPUT) {
arr[i++] = num;
// 移动到下一个输入位置,去掉已经读取的数字
input = input + strlen(input);
*input++ = '\0'; // 将'\0'字符移到原位置
}
// 输出输入的整数数组
for (i = 0; i < i; i++) {
printf("%d ", arr[i]);
}
return 0;
}
阅读全文