黑马程序员技术交流社区

标题: scanf知识点2,域宽和运行原理 [打印本页]

作者: 深情眸    时间: 2015-4-12 09:46
标题: scanf知识点2,域宽和运行原理
关于域宽
可以用一个十进制数指定输入数据的数据宽度,系统自动按域宽截取输入数据。
关于“ * ”
表示按指定格式读入数据但不赋予相应的变量,作用是跳过相应的读入数据
%*d 忽略一个数字
%*c 忽略一个字符
关于使用"\n"的问题
scanf中可以使用"\n",但是输入的时候需要原样输入"\n"
scanf运行原理:
a.整型和字符型混合输入(d%c%d%,&a&ch&b);
1)用户输入内容会被存放到scanf的输入缓冲区中。然后,scanf函数会根据格式控制的字符要求,从输入缓存区依次取他想要的内容。如果从缓冲区取得内容和为们的格式要求一致,则把值存放到变量中。
2)如果格式不一致,则不修改变量的值。
如果scanf缓冲区还有内容,则不会提示我们再输入值。
建议:如果整型和字符型混合的时候,要加上,d%,c%,d%,此外也可以多加一个c%来吸收多余的\n。


作者: 糊涂娃    时间: 2015-4-13 22:52
嗯嗯  受教了.....




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