Q1
int main()
{
char c;
int y;
scanf("%c%d",&c,&y);
printf("%c\n%d\n",c,y);
}
答案 - 如果我们输入值,则答案为z 1988 z 1988
但在另一个问题上 Q2
int main()
{
int y;
char x;
scanf("%d",&y);
scanf("%c",&x);
printf("1 =%d\n%c\n",y,x);
}
答案 - 如果我们输入这些值1988 1 =1988
仅显示整数值而非字符值。 我的问题是,显示的问题具有相同的模式,为什么一个显示字符值而另一个不显示
答案 0 :(得分:1)
在你的
中Q2
int main()
{
int y;
char x;
scanf("%d",&y);
scanf("%c",&x);
printf("1 =%d\n%c\n",y,x);
}
由于输入键击,第二个scanf
读取换行符。
在scanf
之后加一个空格
int main()
{
int y;
char x;
scanf("%d",&y);
scanf(" %c",&x);
^----Note space
printf("1 =%d\n%c\n",y,x);
}