在调用point(p)时候,把p的地址传给了子函数,在子函数中的p加上了3,在子函数中的*p=c,函数调用结束后,对主函数中的 p 值没有影响,因为形参不改变p值,所以结果还是a
如果写成这样结果就是d
#include "stdio.h"
void point(char **p)
{*p+=3;}
void main()
{
char b[4]={'a','b','c','d'},*p=b;
point(&p);
printf("%cn",*p);
}
注意比较吧
在调用point(p)时候,把p的地址传给了子函数,在子函数中的p加上了3,在子函数中的*p=c,函数调用结束后,对主函数中的 p 值没有影响,因为形参不改变p值,所以结果还是a
如果写成这样结果就是d
#include "stdio.h"
void point(char **p)
{*p+=3;}
void main()
{
char b[4]={'a','b','c','d'},*p=b;
point(&p);
printf("%cn",*p);
}
注意比较吧