在C语言中,如何创建一个数组,使得可以自动判断输入完毕
时间: 2024-10-11 16:08:25 浏览: 23
在C语言中,通常情况下数组的长度是在声明时确定的,无法动态地改变数组大小以适应用户输入。然而,你可以通过一些方式间接达到类似的效果,比如使用循环结合用户输入来临时存储数据,直到遇到结束标志(如换行符 '\n' 或特定字符)。
下面是一个简单的例子,演示了如何创建一个动态分配内存的字符数组,并通过`fgets()`函数获取用户输入,直到遇到换行符为止:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_INPUT_SIZE 100 // 定义最大输入长度
int main() {
char input[MAX_INPUT_SIZE]; // 创建动态数组
int isInputDone = 0; // 标记输入是否完成
while (!isInputDone) { // 循环直到输入完成
printf("请输入文字(按回车键结束): ");
fgets(input, MAX_INPUT_SIZE, stdin); // 获取用户输入
if (input[strlen(input)-1] == '\n') { // 判断输入最后一位是否为换行符
input[strlen(input)-1] = '\0'; // 移除换行符
isInputDone = 1; // 输入完成后设置标记
}
}
// 现在可以在数组中处理输入的数据...
printf("你输入的内容是: %s", input);
return 0;
}
```
在这个例子中,用户可以一直输入直到按下回车键。注意这并不是真正的数组,而是类似于字符串缓冲区的行为。如果你需要一个真正可以动态调整大小的数组,C语言本身并不直接支持,通常会考虑使用链表或其他动态数据结构。
阅读全文