C语言函数指针调用

有以下程序point(char*p){p+=3;}main(){charb[4]={'a','b','c','d'},*p=b;point(p);printf("%c\n... 有以下程序
point(char *p){ p+=3; }
main()
{ char b[4]={'a','b','c','d'},*p=b;
point(p); printf("%c\n", *p);
}
程序运行后的输出结果是
展开
 我来答
匿名用户
2009-08-14
展开全部
void point(char *p){ p+=3; } //加上void比较好

char b[4]={'a','b','c','d'}, *p=b; //写在同一行,p是char*的

point(p);// 这里传递的是指针,在函数里面改指针是“临时变量”,不是局部变量
//临时对象不会被记录,如果改p指向的内存就可以被记录。

printf("%c\n", *p); // 输出结果为a,因为p是扔指向b[]其实位置

答案为a
蜜长青
2009-08-13 · TA获得超过1801个赞
知道小有建树答主
回答量:1849
采纳率:0%
帮助的人:1416万
展开全部
point的功能是指针后移三位

所以后来输出的是d
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
szj19900420
2009-08-13
知道答主
回答量:66
采纳率:0%
帮助的人:19.1万
展开全部
结果不确定,*p=b;只是给p指向的内存赋值,并没有使p指向b
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dwthead
2009-08-13 · TA获得超过2309个赞
知道小有建树答主
回答量:1478
采纳率:0%
帮助的人:1912万
展开全部
结果是a

point内 p是局部变量 不影响 主函数中p
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式