今天看到一道有趣的题记录下:
int i=0,j=20,*p1=&i,*p2=&j;
void f(int** ptr1, int* ptr2)
{
int *tmp = ptr2;
**ptr1 *= 10;
*ptr2 *= 10;
ptr2 = *ptr1;
*ptr1 = tmp;
}
//请问调用f(&p1, p2)之后i,j,p1,p2的结果
结果:
i为0
j为200
p1为&j
p2为&j
今天看到一道有趣的题记录下:
int i=0,j=20,*p1=&i,*p2=&j;
void f(int** ptr1, int* ptr2)
{
int *tmp = ptr2;
**ptr1 *= 10;
*ptr2 *= 10;
ptr2 = *ptr1;
*ptr1 = tmp;
}
//请问调用f(&p1, p2)之后i,j,p1,p2的结果
结果:
i为0
j为200
p1为&j
p2为&j