【发布时间】:2017-06-07 08:50:00
【问题描述】:
我想使用 scanf() 从输入中读取两个长句子,它们在两个新行中。
代码:
int main() {
char a[100], b[100];
scanf("%[^\n]s", a);
scanf("%[^\n]s", b);
printf("%s\n%s", a, b);
}
输入:
she is beautiful
That is a flower
输出:
she is beautiful
scanf() 语句未读取第二个输入。
如何解决?
【问题讨论】:
-
"%[^\n]s"-->"%99[^\n]%*c" -
scanf()不太好用,也许你应该试试fgets()或getline()(非标准:sick:)。 -
你为什么要
scanf而不是例如fgets? -
@BLUEPIXY 如果输入以换行符开头,该版本将失败
-
@Meenakshiyegu 两个长句之间有空行吗?