选C
%c一次接收一个字符,在接收x的时候,第一个x接收X后,第二个x就接收接下来输入的x,所以,实际上x接收的是第二个%c输入的x,同理可以解释y了
想当于赋值啊!
int a = 14;
int b = 22;
char x = 'X';
x = 'x';
char y = 'Y';
y = 'y';这样总懂了吧,赋值可以把值变掉,先把X赋值给x,再把x赋值给x,最后x的值就是x。
选C了,char接受第一个遇到的字符,包括空格,回车。连续输入,&x,&x和&y,&y只是为了把大写的XY给覆盖掉,去小写的x。
#include
int main(){
int a,b;
char x,y;
scanf("%d%d %c%c",&a,&b,&x,&y);
printf("%d %d %c %c",a,b,x,y);
return 0;
}试试看,输入格式默认是空格,输入数据占一定空间内存,输入错误会造成输出错误。
C
不同整数之间要求空格%d%d,字符不需要%c%c