填空题 以下程序运行时输入10,20↙,输出结果是 1
#include<stdio.h>
int main()
{
int x, y, t=0;
scanf("%d, %d", &x, &y);
if(x>y)
t=x; x=y; y=t;
printf("%d, %d/n", x, y);
return 0;
}
【正确答案】
【答案解析】20,0。[解析] 输入10,20↙,10被赋给x,20被赋给y;判定if条件x>y为假,于是if分支内嵌的语句t=x;被跳过,而去执行x=y;和y=t;语句,所以输出x的值为20,y的值为0。特别提醒,如果要实现“当x>y时,将x与y中的数交换,否则x、y值不变”,需用大括号将t=x;x=y;y=t;括起来,即成为复合语句{t=x; x=y; y=t;}。