黑马程序员技术交流社区

标题: scanf的运行原理 [打印本页]

作者: 菜鸟一枚    时间: 2015-7-15 09:57
标题: scanf的运行原理
scanf的运行原理:
1)当用户输入内容后,用户输入的内容会被存放在scanf的缓冲区内,然后,scanf会根据格式控制的字符要求,从输入缓冲区中依次取出它想要的内容,如果从缓冲区中取出的内容和我们要求的格式一致,则会把输入的内容存放到变量中,(%d,%c,%f),如果格式不一致,就不会修改变量的值;
2)如果scanf缓冲区中有内容,则就不会提示我们再次输入
作者: 菜鸟一枚    时间: 2015-7-15 09:59
自己顶一个:victory:
作者: 562413895@qq.co    时间: 2015-7-16 08:05
补充一句:scanf遇到空格就结束,空格之后的字符串都不会被接收;但是不能接收空格;且可能产生越界访问。
作者: 杨远鹏    时间: 2015-7-16 09:06
你说的是scanf(%d,%c,%f)的情况
对于scanf(%d,&a);
      scanf(%c,&x);
      scanf(%f,&b);
的情况,也可以总结一下。
作者: 姜赛    时间: 2015-7-16 09:59
不错 挺详细的。
作者: 杨鸿    时间: 2015-7-16 10:02
支持楼主一下!
作者: 欢子    时间: 2015-7-16 15:07
如果分开接收一个整数a 一个字符x和一个整数b也可以这样scanf("%d",&a) ;scanf("%c",&x);scanf("%c",&x);scanf("%d",&b);




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2