C语言 point(char*pt); main() {char b[4]={'a','c','s','f'},*pt=b; pt=point(pt); printf("%cpoint(char*pt);main(){char b[4]={'m','n,'o','p'},*pt=b; point(pt);printf("%c\n",*pt);}point(char*p){ p+=3;}输出结果是什么啊? 为什

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 12:57:14
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]={'a','c','s','f'},*pt=b; pt=point(pt); printf("%cpoint(char*pt);main(){char b[4]={'m','n,'o','p'},*pt=b; point(pt);printf("%c\n",*pt);}point(char*p){ p+=3;}输出结果是什么啊? 为什
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 呢?

C语言 point(char*pt); main() {char b[4]={'a','c','s','f'},*pt=b; pt=point(pt); printf("%cpoint(char*pt);main(){char b[4]={'m','n,'o','p'},*pt=b; point(pt);printf("%c\n",*pt);}point(char*p){ p+=3;}输出结果是什么啊? 为什
因为你传递的是指针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;}