交换指针指向的变量
Swap variables that pointers point in
该函数使用两个指针替换两个整型变量的值。我需要制作函数,使 p1 指向 b,p2 指向 a。
#include <stdio.h>
void swap(int *p1, int *p2) {
int temp = *p1;
*p1 = *p2;
*p2 = temp;
}
int main() {
int a, b;
scanf("%d %d", &a, &b);
swap(&a, &b);
printf("%d, %d", a, b);
return 0;
}
我如何修改它使 p1 指向 b,p2 指向 a?
你的意思好像是下面这样
#include <stdio.h>
void swap(int **p1, int **p2) {
int *temp = *p1;
*p1 = *p2;
*p2 = temp;
}
int main() {
int a, b;
scanf("%d %d", &a, &b);
int *p1 = &a;
int *p2 = &b;
printf("%d, %d\n", *p1, *p2);
swap(&p1, &p2);
printf("%d, %d\n", *p1, *p2);
return 0;
}
该函数使用两个指针替换两个整型变量的值。我需要制作函数,使 p1 指向 b,p2 指向 a。
#include <stdio.h>
void swap(int *p1, int *p2) {
int temp = *p1;
*p1 = *p2;
*p2 = temp;
}
int main() {
int a, b;
scanf("%d %d", &a, &b);
swap(&a, &b);
printf("%d, %d", a, b);
return 0;
}
我如何修改它使 p1 指向 b,p2 指向 a?
你的意思好像是下面这样
#include <stdio.h>
void swap(int **p1, int **p2) {
int *temp = *p1;
*p1 = *p2;
*p2 = temp;
}
int main() {
int a, b;
scanf("%d %d", &a, &b);
int *p1 = &a;
int *p2 = &b;
printf("%d, %d\n", *p1, *p2);
swap(&p1, &p2);
printf("%d, %d\n", *p1, *p2);
return 0;
}