问题 填空题

以下程序运行后的输出结果是______。
void swap(int x,int y)
int t;
t=x;x=y;y=t; printf("%d %d ",x,y);

main()
int a=3,b=4;
swap(a,b); printf("%d %d\n",a,b);

答案

参考答案:4 3 3 4

解析: 本题考查函数传值调用。在C语言中,函数参数的默认传递方式是传值,函数内部的形参只是调用时的实参的一个副本,形参改变后,实参不会变。题中swap函数是一个交换函数,将输入的两个参数交换并输出,但因为是传值调用,所以实参没有改变。所以在主函数中a、b的值不变。在swap函数中输出的是4 3,而在主函数中输出的是3 4。

单项选择题
判断题