scanf的返回值
scanf()
的返回值是⼀个整数,表⽰成功读取的变量个数。
如果没有读取任何项,或者匹配失败,则返回
0
。
如果在成功读取任何数据之前,发⽣了读取错误或者遇到读取到⽂件结尾,则返回常量 EOF (-1)。 EOF - end of file ⽂件结束标志
scanf()
处理数值占位符时,会⾃动过滤空⽩字符,包括空格、制表符、换⾏符等。
scanf()
处理⽤⼾输⼊的原理是,⽤⼾的输⼊先放⼊缓存,等到按下回⻋键后,按照占位符对缓存
进⾏解读。
赋值忽略符
只要把
*
加在任何占位符的百分号后⾯,该占位符就不会返回值,解析后将被丢弃。
%*c
就是在占位符的百分号后⾯,加⼊了赋值忽略符
*
,表⽰这个占位符没有对应的
变量,解读后不必返回。
如图,忽略的不计入返回值
注:在使用是scanf函数进行输入时,要与引号“”内格式一致。