输入两组包含空格的字符串,以换行为结束标志
时间: 2024-12-16 08:30:56 浏览: 6
如果你想在C语言中输入两组包含空格的字符串,并以换行符作为结束标志,可以稍微修改上面的代码,使用循环直到遇到换行符。这里是一个示例:
```c
#include <stdio.h>
#include <stdlib.h> // 需要这个头文件来动态分配内存
#include <string.h>
#define MAX_LINE_LENGTH 100 // 定义最大行长度
void inputString(char* buffer) {
fgets(buffer, MAX_LINE_LENGTH, stdin);
size_t len = strlen(buffer);
if (buffer[len - 1] == '\n') { // 如果最后一字符是换行符,移除它
buffer[len - 1] = '\0';
}
}
int main() {
char str1[MAX_LINE_LENGTH], str2[MAX_LINE_LENGTH];
printf("请输入第一组字符串(按回车结束):");
while (!feof(stdin)) { // 循环读入直至遇到EOF或换行
inputString(str1);
if (feof(stdin)) break; // 如果遇到EOF则退出
}
printf("\n请输入第二组字符串(按回车结束):");
while (!feof(stdin)) {
inputString(str2);
if (feof(stdin)) break; // 同样,遇到EOF则退出
}
printf("你输入的第一组字符串是:%s\n", str1);
printf("你输入的第二组字符串是:%s\n", str2);
return 0;
}
```
在这个版本中,我们添加了一个`inputString`函数,循环读取用户输入直到遇到换行或文件结束。当输入一行字符串后,会检查并移除最后一个换行符。
阅读全文