帮我分析一下这段C语言代码:#include <stdio.h> void swap(int **p1, int **p2) { int *temp = *p1; *p1 = *p2; *p2 = temp; } int main() { int a = 1, b = 2; int *ptr1 = &a, *ptr2 = &b; printf("Before swap: a=%d, b=%d\n", a, b); swap(&ptr1, &ptr2); printf("After swap: a=%d, b=%d\n", a, b); return 0; }
时间: 2023-06-26 10:04:56 浏览: 136
这段C语言代码定义了一个swap函数和一个主函数main。swap函数的作用是交换两个指针所指向的变量的值,其参数为两个指向指针的指针。具体实现是通过定义一个temp指针变量,将第一个指针所指向的变量的值赋给temp,然后将第二个指针所指向的变量的值赋给第一个指针所指向的变量,最后将temp的值赋给第二个指针所指向的变量。
主函数main中定义了两个整型变量a和b,并分别将它们的地址赋给指针变量ptr1和ptr2。然后输出a和b的值,调用swap函数交换ptr1和ptr2所指向的变量的值,再次输出a和b的值。可以看到,经过swap函数的处理,a和b的值被交换了。
阅读全文