镇江水晶宫spa会所:C语言问题,输入两个字并进行显示。这个不明白,望高手解释。

来源:百度文库 编辑:神马品牌网 时间:2024/04/27 19:23:17
main()
{
char a,b;
scanf("%c%c\n",&a,&b);/*第一行*/
printf("%c%c\n",a,b);
scanf("%c %c",&a,&b);/*第二行*/
printf("%c%c\n",a,b);
}
输出的结果很怪,第行输入“a空格b”输出的结果是“a”。输入的“b”不见了,然后执行到第二行的时候输入“c空格d”。输出是“bc”。
如果第一行没有加空格的话,完全正常

#include<stdio.h>
main()
{
char a,b;
scanf("%c %c\n",&a,&b);/*第一行*/
printf("%c%c\n",a,b);
scanf("%c %c",&a,&b);/*第二行*/
printf("%c%c\n",a,b);
}
这样就行了,%c%c之间没有空格时输入时也不能加空格.

scanf语句里应该不用\n的吧

scanf函数直接输入字符串,或者字符时(除数字格式外)遇到空格时即中止
所以用scanf("%c %c",&a,&b);中间要有空格,或者你也可以中间加逗号,输入时中间也加逗号,而不是空格