问题 单项选择题

有以下程序: void swapl(int c0[], int c1[]) {int t; t=co[o]; co[o]=o1[o]; c1[o]=t; } void swap2(int * c0, int * c1) {int t; t=*c0; *c0=*c1; *c1=t; } main() {int a[2]={3, 5}, b[2]=A{3, 5); swapl(a, a+1); swap2(&b[0], &b[1]); printf("%d%d%d%d\n", a[0], a[1], b[0],b[1]); } 程序运行后的输出结果是______。

A.3 5 5 3

B.5 3 3 5

C.3 5 3 5

D.5 3 5 3

答案

参考答案:A

解析: swapl(a,a+1)是将a,a+1的地址进行传递,运行swapl以后,a[0],a[1]的值不发生改变,而swap2(&b[0],&b[1])是将两个指针所指的元素进行传递,运行swap2后,b[0]与b[1]的值互换。

单项选择题
问答题