如何“删除”换行符?

时间:2019-01-30 21:00:16

标签: c

在要求用户提供新字符之前,是否可以从先前的读取中“删除”保留在缓冲区中的所有换行字符?现在我正在这样做

scanf("%c ", &trash);
scanf("%c", &input);
scanf("%c", &trash);

尽管有效,但看起来效率很低而且很不雅。有建议吗?

1 个答案:

答案 0 :(得分:2)

在使用%c格式说明符(该格式说明符将匹配任何字符,包括空格)时,通常需要在格式字符串中在%c之前放置一个空格。这将吸收任意数量的空格字符。

scanf(" %c", &input);