返回信息流就比如说扫描
M 2
A 3
A 4
F 5
W 6
......
但是行数未知
大一新生真诚发问[ema12]
这是一条镜像帖。来源:北邮人论坛 / cpp / #102886同步于 2023/10/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
【问题】C语言怎么实现scanf的多行扫描?(行数未知)
kiana
2023/10/19镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LINES 10
#define MAX_LENGTH 100
int main() {
char lines[MAX_LINES][MAX_LENGTH]; // 字符数组
int line_count = 0; // 记录输入行数
int i;
printf("请输入多行文本(回车后遇空行结束):\n");
while (line_count < MAX_LINES) // 开始扫描
{
char line[MAX_LENGTH]; // 临时储存
if (fgets(line, sizeof(line), stdin) == NULL)
{
printf("读取输入时发生错误。\n");
return 1;
}
line[strcspn(line, "\n")] = '\0'; // 去行末换行符
if (strlen(line) == 0)
{
break; // 如果输入为空行,则结束输入循环
}
strcpy(lines[line_count], line); // 将输入的行存储到数组中
line_count++;
}
printf("\n输入的多行文本为:\n");
for (i = 0; i < line_count; i++)
{
printf("%s\n", lines[i]); // 打印输出
}
return 0;
}
```