C语言中输入数字并收集在数组中,且按下回车能随时终止的代码
时间: 2024-12-16 14:30:22 浏览: 9
在C语言中,你可以使用`fgets`函数从标准输入(通常是键盘)读取字符串,然后通过`sscanf`解析字符串将整数添加到数组中。为了检测用户是否按下了回车键并终止输入,你需要在每次循环结束后检查用户的输入是否为空。下面是一个简单的示例:
```c
#include <stdio.h>
#define MAX_NUMS 10 // 定义最大输入的数字数量
int main() {
int arr[MAX_NUMS]; // 数组用于存储输入的数字
int i = 0;
char input[20];
while (1) {
printf("请输入一个数字(或按回车结束): ");
fgets(input, sizeof(input), stdin); // 读取一行输入
if (input[0] == '\n') { // 如果输入的是回车,则跳出循环
break;
}
if (sscanf(input, "%d", &arr[i]) != 1) { // 检查是否能成功解析为整数
printf("无效的输入,请输入一个数字.\n");
continue;
}
i++; // 数组下标增加,准备接收下一个数字
}
arr[i] = 0; // 结束输入后,在数组末尾添加0作为占位符
printf("你输入的数字是: \n");
for (i = 0; i <= i; i++) { // 遍历显示数组元素,注意范围控制
printf("%d ", arr[i]);
}
return 0;
}
```
阅读全文