scanf(\\\"%d\\\", &c)和 scanf(\\\"%d[^\\\\n]\\\", &c) 都可以按回车结束输入
作者:野牛程序员:2023-03-20 15:26:24C++程序设计阅读 2413
使用scanf("%d", &c)时,在输入一个整数后按回车键,scanf函数会将回车符留在输入缓冲区中,因此在下一次读取输入时,程序可能会意外地读取到回车符。这通常不是我们想要的行为。
使用scanf("%d[^\\n]", &c)时,在读取整数时,scanf函数会忽略掉回车符和换行符,因此在输入一个整数后按回车键,scanf函数将立即结束输入,并将回车符从输入缓冲区中移除。这可以避免在下一次读取输入时出现意外的行为。
因此,虽然两种方法都可以按回车键结束输入,但是它们对回车符的处理方式不同,scanf("%d[^\\n]", &c)可以更好地避免回车符对输入的影响。在一些情况下,如果想要在输入中使用空格或其它非数字字符分隔不同的输入项,scanf("%d[^\\n]", &c)可以更灵活地处理输入。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892