我很困惑为什么这段代码有效。我被告知指针是一个“胶囊”,其中包含某物的地址。因此,该swapnum
函数应该期待这些“胶囊”之一,而不是 int 的实际地址。它是否创建了一个临时指针并将其设置为该地址?如果是这种情况,那么如果我通过引用传递一个指针会发生什么int * c = &a;
swapnum (&c...
?
#include <stdio.h>
void swapnum(int *i, int *j) {
int temp = *i;
*i = *j;
*j = temp;
}
int main(void) {
int a = 10;
int b = 20;
swapnum(&a, &b);
printf("A is %d and B is %d\n", a, b);
return 0;
}