#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/06/26 02:55:32
![#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(](/uploads/image/z/5285114-26-4.jpg?t=%23include+void+swap%28int+b%5B%5D%29+%7B+int+%2Ap%2C%2Ap1%2C%2Ap2%EF%BC%9B+p1%3D%26b%5B0%5D+%EF%BC%9Bp2%3D%26b%5B1%5D%EF%BC%9B+p%3Dp1%EF%BC%9B+p1%3Dp1%2B1%EF%BC%9B+p2%3Dpvoid+main%28%29+%7B+int+a%5B%5D%3D%7B5%2C9%7D%EF%BC%9B+printf%28%22%25d%2C%25d%5Cn%22%2C%2Aa%2C%2A%28a%2B1%29%29%EF%BC%9Bswap%28a%29%EF%BC%9Bprintf%28%22%25d%2C%25d%5Cn%22%2Ca%5B0%5D%2Ca%5B1%5D%29+%7D%E8%AF%B7%E9%97%AE%E6%89%A7%E8%A1%8C%E7%BB%93%E6%9E%9C%E6%98%AF%E5%A4%9A%E5%B0%91%3F)
#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] 的值.