#include void swap(int b[]) { int *p,*p1,*p2; p1=&b[0] ;p2=&b[1]; p=p1; p1=p1+1; p2=pvoid main() { int a[]={5,9}; printf("%d,%d\n",*a,*(a+1));swap(a);printf("%d,%d\n",a[0],a[1]) }请问执行结果是多少?

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/18 02:23:13

#include void swap(int b[]) { int *p,*p1,*p2; p1=&b[0] ;p2=&b[1]; p=p1; p1=p1+1; p2=pvoid main() { int a[]={5,9}; printf("%d,%d\n",*a,*(a+1));swap(a);printf("%d,%d\n",a[0],a[1]) }请问执行结果是多少?
#include void swap(int b[]) { int *p,*p1,*p2; p1=&b[0] ;p2=&b[1]; p=p1; p1=p1+1; p2=p
void main() { int a[]={5,9}; printf("%d,%d\n",*a,*(a+1));swap(a);
printf("%d,%d\n",a[0],a[1]) }
请问执行结果是多少?

#include void swap(int b[]) { int *p,*p1,*p2; p1=&b[0] ;p2=&b[1]; p=p1; p1=p1+1; p2=pvoid main() { int a[]={5,9}; printf("%d,%d\n",*a,*(a+1));swap(a);printf("%d,%d\n",a[0],a[1]) }请问执行结果是多少?
输出:
5,9
5,9
第一个printf输出交换前的 a[0] 和 a[1] ,第二个printf 输出 swap 后的 a[0] 和 a[1].
但事实上 swap 函数只是对 p1 和 p2 两个指针的值进行交换,并没有交换 a[0] 和 a[1] 的值.