gpt4 book ai didi

C指针---函数关系

转载 作者:行者123 更新时间:2023-11-30 21:42:28 24 4
gpt4 key购买 nike

我们调用函数 foo(&x, &y)main函数但是为什么我们要调用 swap (x, y)里面void foo功能为swap (&x, &y)

#include <stdio.h>
#include <stdlib.h>

void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
void foo(int*p1, int*p2) {
*p1 += *p2;
swap(p1, p2);
*p2 *= *p1;
}

int main(){
int x = 5, y = 9;
foo(&x, &y);

printf("x=%d\n", x);
printf("y=%d\n", y);

system("PAUSE");
return 0;
}

最佳答案

区别在于调用函数的参数类型。

第一种情况:

x 的类型为 intfoo 函数需要 int *

所以你有foo(&x, &y);

第二种情况:

p1 的类型为 int *swap 函数也需要 int *

所以你有swap(p1, p2);

关于C指针---函数关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48521870/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com