c 语言不定项输入一组字符串,输出到同一行,使用while(EOF!=scanf(…)){}
时间: 2024-10-08 10:14:07 浏览: 69
在输入输出字符串时scanf(),printf()和gets(),puts()的区别浅谈
5星 · 资源好评率100%
在C语言中,如果你想通过`scanf`函数从用户输入读取一组不确定数量的字符串,并将它们输出在同一行,可以使用以下结构:
```c
#include <stdio.h>
int main() {
char str[100]; // 定义一个足够大的数组来存储字符串
int ch; // 用于接收换行符
printf("请输入字符串(按回车结束):"); // 提示用户输入
while ((ch = getchar()) != EOF) { // 使用getchar()获取输入并检查是否到达文件结尾
if (ch == '\n') { // 如果遇到换行符,表示输入的一段字符串结束
// 打印当前输入的字符串,注意这里不会打印最后一个空格
printf("%s", str);
// 为了去除多余的空格,清空str并添加一个分隔符(如空格)
memset(str, 0, sizeof(str));
printf(" ");
} else {
// 如果不是换行符,就追加到字符串中
str[strlen(str)] = ch;
}
}
// 最后一次循环会打印出最后一部分字符串,不需要额外处理
printf("%s", str);
return 0;
}
阅读全文