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);
}
程序运行后的输出结果是 展开
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
char b[4]={'a','b','c','d'}, *p=b; //写在同一行,p是char*的
point(p);// 这里传递的是指针,在函数里面改指针是“临时变量”,不是局部变量
//临时对象不会被记录,如果改p指向的内存就可以被记录。
printf("%c\n", *p); // 输出结果为a,因为p是扔指向b[]其实位置
答案为a
展开全部
point的功能是指针后移三位
所以后来输出的是d
所以后来输出的是d
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结果不确定,*p=b;只是给p指向的内存赋值,并没有使p指向b
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结果是a
point内 p是局部变量 不影响 主函数中p
point内 p是局部变量 不影响 主函数中p
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |