c语言中scanf的使用问题(大家一直以来对它的误解)

c语言中scanf的使用问题(大家一直以来对它的误解)(1)

C语言scanf

大家刚开始学习C语言的时候,一直存在一个误解,认为scanf是直接从键盘读取数据,其实这是不正确的,大家可能没有理解得比较透彻。其实,scanf函数可没有能力直接从键盘读取数据,它仅仅是从标准IO输入缓冲区读取数据而已,而这些缓冲区的数据来自于内核,内核数据才来自于键盘。 拓展:由于scanf只是读取缓冲区的数据,因此如果数据个数跟scanf约定的不同时,这些数据将被残留在缓冲区内,影响scanf下次的运行,那怎么清空这些不合格的非法输入呢?方法如下:

while(getchar() != 'n');

只有深入去了解它,才更好的驾驭它,为你所用!

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页