| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 593 人关注过本帖
标题:请教个问题
取消只看楼主 加入收藏
虫虫飞ya飞
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2005-11-28
收藏
 问题点数:0 回复次数:3 
请教个问题
#include<iostream.h>
void fun(char *b){
if(*b)
fun(b+1);
else
return;
cout<<*b;
}
int main(){
char a[]="abcdef";
fun(a);
}
这个程序有几个看不明白 if(*b)它到底判断是什么啊,若把cout<<*b;中 * 号去掉它的输出是fefdefcdefbcdefabcdef我怎么看也不明白杂会是这中结果呢。。。小弟初学还请大家多多指教谢谢

[此贴子已经被作者于2005-11-28 15:49:21编辑过]

搜索更多相关主题的帖子: include return 
2005-11-28 14:41
虫虫飞ya飞
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2005-11-28
收藏
得分:0 

关于*b的指向还是有点糊涂怎么指向abcdef后又指向bcdef呢。。。。


2005-11-28 15:59
虫虫飞ya飞
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2005-11-28
收藏
得分:0 
哦。。。原来fun(b+1)是这么理解的啊。。看来我一开始就想错了。。谢谢两位了

2005-11-28 16:14
虫虫飞ya飞
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2005-11-28
收藏
得分:0 
我又想想终于有点明白了。。。if(*b)fun(b+1)使得*b指向abcdef,bcdef,cdef,def,ef,f
如果输出的是cout<<*b;就逆序输出它们的首指针就是fedcba,如果输出是cout<<b;则是把b的值逆序输出
也就是f fe fed fedc fedcb fedcba我这样理解对不啊

2005-11-28 16:29
快速回复:请教个问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016727 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved