C语言scanf时怎样输入两行
时间: 2024-10-27 12:11:41 浏览: 45
在C语言中,`scanf()` 函数主要用于从标准输入(通常是键盘)读取数据,并按照给定的格式进行解析。如果你想让`scanf()`读取两行字符串,可以分别指定两组格式说明符,每组对应一行数据。例如,如果你想要输入两行文本,可以这样做:
```c
#include <stdio.h>
#define MAX_LINE_LENGTH 80 // 每行最大长度
int main() {
char line1[MAX_LINE_LENGTH];
char line2[MAX_LINE_LENGTH];
printf("请输入第一行文本:");
if (fgets(line1, sizeof(line1), stdin) != NULL) { // fgets用于读取整行,包括换行符
line1[strlen(line1)-1] = '\0'; // 去掉末尾的换行符
}
printf("请输入第二行文本:");
if (fgets(line2, sizeof(line2), stdin) != NULL) {
line2[strlen(line2)-1] = '\0'; // 同样去掉换行符
} else {
printf("无法读取第二行文本。\n");
}
// 现在你可以处理line1和line2了
printf("你输入的第一行是:%s\n", line1);
printf("你输入的第二行是:%s\n", line2);
return 0;
}
```
在这个例子中,我们使用`fgets()`函数读取用户输入的一行文本,然后在每次读取后手动删除末尾的换行符。`fgets()`比`scanf("%s")`更适合这种情况,因为它能完整地保存包括换行符在内的输入。
阅读全文