您的位置:首页 > 其它

scanf getchar gets 的区别

2014-08-24 16:00 134 查看
读取字符时:

1) scanf(“%c”, c)读取此时输入缓冲区的第一个字符(包括空白字符Space、Enter、Tab)结束一次输入,不会舍弃最后的回车符(即回车符会残留在缓冲区中);

2) c =getchar() 与scanf(“%c”, c)相同。

读取字符串时:

1) scanf("%s",s)找到输入缓冲区中第一个非空白(Space、Enter、Tab)字符串作为输入传给变量(自动),然后以空白符Space、Enter、Tab结束一次输入(变量末尾自动补‘/0’作为字符串结束),但做为结束的空白符(空格、回车)仍留在输入缓冲区不做删除。

2) gets(s)接受空格,制表符,不接受回车符。以回车符结束输入(空格不结束),会删除最后的回车符(最后的回车符从输入缓冲区去除,此时输入缓冲区的第一个字符为回车的下一个字符),若回车符前无字符,则传给*s的值为‘\0’;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: