今天在编写一个二叉树的程序时发现一个问题,如下:
#include <stdio.h>
int main(){
int i;
char j;
scanf("%d",&i);
scanf("%c",&j);
printf("%d %c\n",i,j);
return 0;
}
在运行后结果为:
本来是 “2 d” 的结果却为什么输出“2”,我上网查了一下原来是%c将空格字符也给读取了,那怎么解决这问题呢?
我们可以在%c前加上一个空格,如下:
scanf(" %c",&j);
改掉后运行结果为:
这样就可以了。