小编Joh*_*Doe的帖子

为什么我不能使用函数交换两个变量的内存地址?C

static void swapAddr(int *numOne, int *numTwo)
{
    int *tmp;

    tmp = numOne;
    numOne = numTwo;
    numTwo = tmp;
}

int main(void)
{
    int a = 15;
    int b = 10;

    printf("a is: %d\n", a);
    printf("Address of a: %p\n", &a);
    printf("b is: %d\n", b);
    printf("Address of b: %p\n", &b);

    swapAddr(&a, &b);
    printf("\n");

    printf("a is: %d\n", a);
    printf("Address of a: %p\n", &a);
    printf("b is: %d\n", b);
    printf("Address of b: %p\n", &b);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

当我编译并运行这段代码时,输​​出是

a is: 15
Address of a: 0x7fff57f39b98 …
Run Code Online (Sandbox Code Playgroud)

c pointers

1
推荐指数
1
解决办法
397
查看次数

标签 统计

c ×1

pointers ×1