
关于C语言函数问题
1.图中的while(*p)是什么意思?如果换成用for(),怎么写?2.Fun(&p)这种引用函数的方法有什么说明吗?只见过Fun(n)或者Fun(n,&p)这样的,只...
1.图中的while(*p)是什么意思?如果换成用for(),怎么写?2.Fun(&p)这种引用函数的方法有什么说明吗?只见过Fun(n)或者Fun(n,&p)这样的,只带一个&p的没见过
展开
展开全部
一般判定都是为真执行,为假不执行
图中的*p指的是“以p变量的内容为地址的变量”,而你只要看看,它所指向的变量的值是不是0,如果不是0,那么就会执行
这个地方其实不用换成for,该用什么用什么,如果是题目需要的话就只能这样写了
for( ;*p; *p/=10)
然后在里面写一堆语句...不过我是没这样写过,不太清楚...
至于fun(&p)这个其实和fun(n, &p)是一样的,只不过不发送n的内容,只发送p的地址而已
&p就是p的地址,把它当做实参发送给fun函数内的形参*p也是可以的...
--------------------------------
为什么我感觉你学的有些死板啊...是老师上课只念ppt吗,,,,,多思考思考啊,fun(n,&p)和fun(&p)都差不多的啊....加油吧...
展开全部
while(*p)意思是当指针p所指向地址的值不为空时执行
while(*p)可用for(;*p != null;)代替
Fun(&p)表示以p的地址作为参数传递给函数fun并跳转到fun执行相应的代码
使用&这种取址符的时候要注意判断参数是否有效,比如&p要判断p是否为空,您的代码未做判断,当p == null 时有可能导致程序出错
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这样写:
for(; *p ; )
{
你的代码
}
Fun(&p); 没什么说明,这样调用,是因为声明的时候void Fun(int *p)要传递至而已
for(; *p ; )
{
你的代码
}
Fun(&p); 没什么说明,这样调用,是因为声明的时候void Fun(int *p)要传递至而已
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询