作业帮 > 综合 > 作业

C语言 point(char*pt); main() {char b[4]={'a','c','s','f'},*pt=

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 14:21:25
C语言 point(char*pt); main() {char b[4]={'a','c','s','f'},*pt=b; pt=point(pt); printf("%c
point(char*pt);
main()
{char b[4]={'m','n,'o','p'},*pt=b;
point(pt);
printf("%c\n",*pt);
}
point(char*p)
{ p+=3;}
输出结果是什么啊? 为什么不是 p 而是 m 呢?
因为你传递的是指针p的形参,也就是说不是真正的p,所以在函数体内的操作,对函数外不会造成任何影响.要想有所实现,可以做如下修改:
void point(char**pt);
main()
{char b[4]={'m','n','o','p'},*pt=b;
point(&pt);
printf("%c\n",*pt);
}
void point(char**p)
{ (*p)+=3;}