三亚的千古情值得看吗:ni hui指针吗?

来源:百度文库 编辑:高考问答 时间:2024/05/05 07:09:24
有以下程序 × 正确答案为B
void swap1(int c[]){
int t;
t=c[0];c[0]=c[1];c[1]=t;
}
void swap2(int c0,int c1){
int t;
t=c0;c0=c1;c1=t;
}
main(){
int a[2]={3,5},b[2]={3,5};
swap1(A);
swap2(b[0],b[1]);
printf("%d %d %d %d\n",a[0],a[1],b[0],b[1]);
}
其输出结果是
A)5 3 5 3
B)5 3 3 5
C)3 5 3 5
D)3 5 5 3
怎么是B呢,是A吧,答案是B

是B,因为swap1是地址调用,调用后实参的值发生变换,swap2是传值调用,调用后实参的值并不改变。