如何用c语言构造出一个遇到回车键就停止的循环去输入数组
时间: 2024-10-14 11:11:57 浏览: 28
在C语言中,你可以使用`fgets()`函数配合循环结构来实现这个功能。`fgets()`函数可以从标准输入流(通常是键盘输入)读取一行字符串,并在遇到换行符`\n`(ASCII码为10)或指定的最大字符数时停止读取。下面是一个简单的示例,用于输入数组元素:
```c
#include <stdio.h>
#define MAX_INPUT_SIZE 10 // 最大输入长度
int main() {
int arr[10], i = 0; // 假设我们要输入一个最多10个元素的数组
char input[MAX_INPUT_SIZE + 1]; // 包含换行符的空间
while (i < 10) { // 循环直到数组填满
printf("请输入第 %d 个元素: ", i + 1);
fgets(input, sizeof(input), stdin); // 从标准输入读入一行
// 移除末尾的换行符 '\n'
input[strcspn(input, "\n")] = '\0';
if (sscanf(input, "%d", &arr[i]) == 1) { // 尝试将输入转换为整数
i++;
} else {
printf("无效的输入,请输入一个数字。\n");
}
}
printf("输入的数组为: ");
for (i = 0; i < 10; i++) {
if (arr[i] != 0) { // 防止打印空位置
printf("%d ", arr[i]);
}
}
printf("\n");
return 0;
}
```
在这个程序中,用户每按一次回车键,就会读取到一个新的整数值并存储在数组中,直到数组填满为止。
阅读全文