C语言-值传递
该函数值传递问题,结果是值传递,函数执行完后不改变本来的值。
void func(int *a, int *b)
{
int *c;
c = a;
a = b;
b = c;
printf(" int func:%p, %p\n", a, b);
}
int main()
{
int a = 3;
int b = 5;
int *p = &a;
int *q = &b;
printf("打印执行前地址:&p = %p, &q = %p\n", p, q);
func(p, q); // 传递函数内打印地址
printf("打印执行后地址:&p = %p, &q = %p\n", p, q);
printf("%d, %d\n", *p, *q);//3 5
printf("&a = %p, b = %p\n", &a, &b);
func(&a, &b);
printf("%d, %d\n", *p, *q);// 3 5
return 0;
}