c语言读取字符函数gets,scanf,getchar,fgets等的区别总结

https://blog.csdn.net/zqixiao_09/article/details/50189477

要注意不同的函数是否接受空格符、是否舍弃最后的回车符的问题!


读取字符时:

scanf()以Space、Enter、Tab结束一次输入,不会舍弃最后的回车符(即回车符会残留在缓冲区中);
getchar()以Enter结束输入,也不会舍弃最后的回车符;


读取字符串时:
scanf()以Space、Enter、Tab结束一次输入
gets()以Enter结束输入(空格不结束),接受空格,会舍弃最后的回车符!

总结:读取单个字符不会舍弃回车符,读取字符串会舍弃回车符。

猜你喜欢

转载自www.cnblogs.com/deep-sleep/p/11780869.html