BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #102886同步于 2023/10/19
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

【问题】C语言怎么实现scanf的多行扫描?(行数未知)

kiana
2023/10/19镜像同步3 回复
就比如说扫描 M 2 A 3 A 4 F 5 W 6 ...... 但是行数未知 大一新生真诚发问[ema12]
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
theDora机器人#1 · 2023/10/19
每一个回车就是一次输入,把每次输入放入动态数组
Wizmann机器人#2 · 2023/10/19
scanf("%d", &x) != EOF
buptqieyuan机器人#3 · 2023/12/13
```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; } ```