在Windows下使用gcc进行编译,其代码如下:
Screen
我得到这个结果:
#include <stdio.h>
int f(int ** iptr)
{
printf("f initial value: %i\n",**iptr);
int a =10;
*iptr = &a;
printf("f changed value: %i\n",**iptr);
return 0;
}
int main()
{
int * p = 0;
int i =7;
p = &i;
printf("main initial value: %i\n",*p);
f(&p);
printf("main after f value under p: %i\n",*p);
printf("again value under p: %i\n",*p);
printf("value of i: %i\n",i);
return 0;
}
任何想法,为什么会这样?
谢谢!
P.S。而且该网站的格式抱怨说,我在这里没有进行足够的对话...所以,成为社交...:)