C语言如何在给数组赋值时输入回车跳出循环
时间: 2024-12-25 10:29:22 浏览: 17
在C语言中,当通过键盘输入元素给数组赋值时,通常会使用`scanf()`函数。如果你想要用户输入回车后跳出循环,你可以结合使用`fgets()`函数,因为它可以读取一行完整的文本,包括回车符。
以下是一个简单的示例,展示了如何在一个while循环中,使用`fgets()`来读入用户输入直到遇到换行符,并将输入存储到数组中:
```c
#include <stdio.h>
#define SIZE 5
int main() {
int arr[SIZE];
char input[100]; // 大小足够容纳整数加上回车符
int i = 0;
while (i < SIZE) {
printf("请输入第 %d 个元素:", i + 1);
fgets(input, sizeof(input), stdin); // 从标准输入读取直到换行符
if (!strcmp(input, "\n")) { // 检查是否输入的是回车符
break; // 如果是,跳出循环
}
input[strlen(input) - 1] = '\0'; // 删除可能存在的换行符,只保留数字部分
arr[i++] = atoi(input); // 转换输入字符串为整数并存入数组
}
// 打印数组元素
for (i = 0; i < SIZE; i++) {
printf("arr[%d] = %d\n", i, arr[i]);
}
return 0;
}
```
在这个例子中,当用户按下回车键时,程序会检查`fgets()`读取的结果是否为`\n`,如果是,则退出循环。如果用户直接按了Enter而不输入数字,也需要处理这种情况(例如忽略空行)。注意这里我们假设输入的都是整数,如果不是,需要添加适当的错误检查和输入转换。
阅读全文