scanf输入与getchar的比较

Posted spore

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scanf输入与getchar的比较相关的知识,希望对你有一定的参考价值。

使用scanf输入时应注意的问题

1. scanf("%c%c%c",&c1,&c2,&c3);   在执行此函数时应该连续输入三个字符,中间不要有空格。如果有空格,就不对了,      如:a b c 第1个字符‘a’送给c1,第2个字符是空格符‘ ‘,送给c2,第3个字符‘b‘送给c3

提示输入数值时,在两个数值之间需要插入空格(或其他分隔符),以使系统能区分两个数值

      在连续输入字符时。在两个字符之间不要插入空格或其他分隔符(除非在scanf函数中的格式字符串中有普通字符,这时在输入数据时要在原位置插入这些字符),系统能区分两个字符

2. 在输入数值数据时,如输入空格、回车、Tab键或遇非法字符(不属于数值的字符),认为该数据结束。如

   scanf("%d%c%f",&a,&b,&c);

若输入1234e123o.26

第一个数据对应%d格式,在输入1234之后遇到字符‘e‘,因此系统认为数值12345后没有数据了,第1个数据应到此结束,则把1234送给a,把‘e‘送给b。如果由于疏忽把1230.26错打成123o.26,由于123后面出现字母o,就认为数值数据到此结束,将123送给变量c,后面的几个字符没有被读入。

3.scanf("%[^\\n]",&a);

表示读入一行字符串。
^表示"非",[^\\n]表示读入换行字符就结束读入。

4. *在scanf中的用法和scanf的返回值的用法两点。

https://www.dotcpp.com/wp/786.html

使用getchar输入单个字符,而非一个字符串。

getchar函数,是C语言标准库中的函数,在头文件stdio中,可以接受用户输入的一个字符,回车结束,明文显示。声明和示例如下:

技术图片

注意:第一行是我输入的,第二行是printf输出的!

 

以上是关于scanf输入与getchar的比较的主要内容,如果未能解决你的问题,请参考以下文章

getchar(),gets(),scanf()的差异比较

scanf与getchar()区别

scanf与getchar()区别

简要概括 getchar() 与 scanf() 的异同

输出与输出:putchar() getchar() printf() scanf() puts() gets() sscanf()

喵呜 来啦来啦:C语言gets(),scanf()与getchar()函数的区别