用了好久scanf函数,还是没学太明白……有大佬能帮我解答一下吗?

如题所述

scanf的多个输入控制符之间本身是无需加其他非控制符(比如空格)的,比如你可以用

scanf("%c%c",&a,&b);  //两个%c之间是紧挨着的

但是需要注意的是,虽然 scanf 中没有加任何“非输入控制符”,但是从键盘输入数据时,给多个变量赋的值之间仍然要用空格、回车或者 Tab 键隔开,用以区分是给不同变量赋的值。而且空格、回车或 Tab 键的数量不限,只要有就行。一般都使用一个空格。

当然你要加入“非输入控制符”也是可以的,但是在输入数据时,这些“非输入控制符”也要原样输入,比方说用逗号:

scanf("%c,%c",&a,&b);  //两个%c之间是逗号

这样在输入数据时,就必须输入 a,b 这样的格式,逗号不能用其他字符代替(也不能用全角的中文逗号!),也不能再添加其他符号(会被当作输入的字符串处理)。

同理,插入空格也是可以的:

scanf("%c %c",&a,&b);  //两个%c之间是空格

这样输入的时候a和b之间就一定要有空格,但与逗号不同的是,空格的数量是不限的

温馨提示:答案为网友推荐,仅供参考
相似回答