读取字符时:
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’;
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’;
本文详细解析了C语言中字符和字符串的输入方法,重点介绍了scanf和getchar函数读取字符的区别,以及scanf和gets函数读取字符串的不同之处。文章还强调了这些函数在处理空白字符如空格、制表符及回车符时的行为。
517

被折叠的 条评论
为什么被折叠?



