c语言连续输入不确定个数的字符串
时间: 2024-11-20 19:40:45 浏览: 15
C语言求解最长公共子字符串问题及相关的算法分析
在C语言中,如果你想让程序连续输入不确定个数的字符串,通常会采用循环结合`fgets()`函数来实现。`fgets()`可以读取一行字符串,包括空格和换行符,并存储到指定的字符数组中。下面是一个简单的示例:
```c
#include <stdio.h>
#include <string.h> // 需要包含这个头文件来使用strlen()
#define MAX_LINE_LENGTH 100 // 定义最大输入长度
int main() {
char input[MAX_LINE_LENGTH];
int cont = 1; // 用于控制是否继续输入,初始化为1表示继续
while (cont) { // 循环直到用户不再输入
printf("请输入一个字符串(输入'q'退出): ");
fgets(input, sizeof(input), stdin); // 从标准输入获取字符串
size_t length = strlen(input);
if (input[length - 1] == '\n') { // 如果字符串结束符是换行符
input[length - 1] = '\0'; // 删除换行符,使得字符串结束
} else if (input[length - 1] != '\0') { // 如果不是换行符,说明输入有误,提示用户重新输入
printf("错误! 输入需要以换行符结束。\n");
continue;
}
// 这里对输入的字符串进行处理...
printf("你输入的是: %s\n", input);
// 用户询问是否继续
printf("是否还要输入另一个字符串? (y/n): ");
scanf("%c", &cont);
cont = cont == 'y' || cont == 'Y'; // 转换成布尔值判断是否继续
}
return 0;
}
```
阅读全文