有以下程序:
#include< stdio.h >
void fun(int a,int b)
{int t;
t=a;a=b;b:t;
}
main()
{int c[10]={1,2,3,4,5,6,7,8,9,0},i;
for(i=0;i< 10;i+=2)fun(c[i],c[i+1]);
for(i=0;i< 10;i++)printf("%d,",c[i]);
printf("\n");
}
程序运行后的输出结果是( )。
【正确答案】 A
【答案解析】函数调用中发生的数据传送是单向的。即只能把实参的值传送给彤参,而不能把形参的值反向地传送给实参。因此在函数调用过程中,形参的值发生改变,而实参中的值小会变化,所以数组c中的元素的值并没有变化,选择A。