有人可以解释为什么 v[2] 最终的值为 -3,而不是空,或者 25 吗?
#include <stdio.h>
int main ()
{
int v[5];
int *z = &v[0];
*z=12;
z++;
*z=16;
z++;
*z=-3;
z++;
*z=25;
printf ("%d", v[2]);
return 0;
}
最佳答案
#include <stdio.h>
int main ()
{
int v[5];
int *z = &v[0]; // z points to v[0]
*z=12; // v[0] = 12
z++; // z points to v[1] now
*z=16; // v[1] = 16
z++; // z points to v[2] now
*z=-3; // etc
z++; // etc
*z=25; // etc
}
关于谁能解释一下C指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14367597/