在C语言中,如果你想要实现一个程序,它会一直等待用户输入直到用户输入特定的结束字符(例如空字符串),你可以使用一个无限循环来实现这个功能。以下是一个简单的例子,演示如何实现这个功能:
#include <stdio.h>
int main() {
char input[1024]; // 假设输入不会超过1023个字符
printf("请输入数据(输入空字符串结束):\n");
while (1) {
// 读取用户输入
fgets(input, sizeof(input), stdin);
// 检查是否输入了空字符串
if (input[0] == '\0') {
break; // 如果输入了空字符串,退出循环
}
// 处理输入的数据
// ...
// 清空输入缓冲区,避免下一次输入时读取到上一次的换行符
while (getchar() != '\n');
}
printf("输入结束。\n");
return 0;
}
在这个例子中,程序使用 fgets
函数来读取用户输入,直到用户输入一个空字符串。fgets
函数会读取输入直到遇到换行符 \n
或者达到指定的缓冲区大小(在这个例子中是1024个字符)。如果用户输入了一个空字符串,这意味着用户没有输入任何字符,程序会退出循环。
注意,getchar()
函数用于清除输入缓冲区中的任何剩余字符,包括换行符 \n
,这样下一次调用 fgets
时不会立即读取到这个换行符。
这个程序会一直等待用户输入,直到用户输入一个空字符串为止。