#include "stdio.h" void point(char *p) {p+=3;} main() { char
1个回答

在调用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);

}

注意比较吧