c 中的scanf, gets,fgets

来源:互联网 发布:授权回调域名出错 编辑:程序博客网 时间:2024/05/17 04:45

字符的分类

1 数字字符  0-9

2 一般字符 可显示字符 

3 制表符     不可显示的,比如空格,换行,tab等等


scanf(“%d”),扫描输入流,如果遇到3类字符,则略过并消耗【将字符从缓冲区中删除】该字符,继续扫描

                                         如果遇到2类字符,返回输入流失败, scanf的返回值为0

                                         如果遇到1类字符,持续扫描直到遇见非1类字符,期间读入的1类字符组成数字,输入成功


scanf(“%s”), 扫描输入流, 如果遇到3类字符,则略过消耗【将字符从缓冲区中删除】该字符,继续扫描

                                           否则持续扫描直到遇见3类字符,期间读入的字符在末尾补上字符‘\0’组成字符串,输入成功


gets  读入输入流直到遇见‘\n’, 然后将‘\n’ 去掉,在末尾补上'\0' 。 

gets 不会略过,如果它扫描的第一个字符就是'\n',那么它这次读入的字符串为空。


fgets 读入输入流知道遇见‘\n’,并在末尾加上 '\0'

fgets 没有去掉换行符



0 0
原创粉丝点击