| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1434 人关注过本帖
标题:不用形参指针,而用函数内部变量能否实现同样的功能
取消只看楼主 加入收藏
明天不一样
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2006-8-31
收藏
 问题点数:0 回复次数:5 
不用形参指针,而用函数内部变量能否实现同样的功能

编写义递归函数,在二叉树中求位于先序序列中第K个位置的结点的值:
typedef struct node{
char data;
struct node *leftchile,*rightchile;
}Bitree; //定义二叉树结点类型

value(Bitree *p,int k,int *m) //k为要求的位置,m是指针,
{ //在函数value外部定义一变量
(*m)++; //初始化为0,把它的地址传入m中
if(*m==k)
{
printf("K的值:%d",p->data);
exit(0);
}
value(p->leftchile);
value(p->rightchile);
}

我的问题是:不定义函数形参指针m,而在函数内部定义一个变量,能否实现此函数的功能。

搜索更多相关主题的帖子: 变量 函数 指针 二叉树 形参 
2006-09-23 10:49
明天不一样
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2006-8-31
收藏
得分:0 
急……

可怜可怜我吧!小弟知识贫乏,快要饿死了,大哥大姐你们行行好,给点编程知识吧!我会永远记住你们的恩情。
2006-09-23 11:24
明天不一样
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2006-8-31
收藏
得分:0 
请教版主

可怜可怜我吧!小弟知识贫乏,快要饿死了,大哥大姐你们行行好,给点编程知识吧!我会永远记住你们的恩情。
2006-09-24 10:17
明天不一样
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2006-8-31
收藏
得分:0 

也就是说在函数内部定义变量不能实现此功能了


可怜可怜我吧!小弟知识贫乏,快要饿死了,大哥大姐你们行行好,给点编程知识吧!我会永远记住你们的恩情。
2006-09-24 11:29
明天不一样
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2006-8-31
收藏
得分:0 
版主就是版主,厉害,我怎么没有想到呢,真心的感谢版主了,万分感谢,谢谢!

可怜可怜我吧!小弟知识贫乏,快要饿死了,大哥大姐你们行行好,给点编程知识吧!我会永远记住你们的恩情。
2006-09-25 17:36
明天不一样
Rank: 1
等 级:新手上路
帖 子:121
专家分:0
注 册:2006-8-31
收藏
得分:0 
以下是引用神vLinux飘飘在2006-9-24 12:08:37的发言:

#include "stdio.h"

typedef struct node
{
char data;
struct node* leftchile;
struct node* rightchile;
}Bitree;//定义二叉树结点类型


value(Bitree* p,int k)//k为要求的位置,m是指针,
{
static int m = 0; //你要m,我就给你m
if(m++==k)
{
printf("K的值:%d",p->data);
return;
}
value(p->leftchile,k);
value(p->rightchile,k);
}

不过我有个问题,代码中的红色语句是不是要改成 exit(0); 更好些呢?
如果是用return;是不是要把整个树遍历完才退出呢?如果用exit(0);只要找到要求的值就退出程序的。是不是这样呢?


可怜可怜我吧!小弟知识贫乏,快要饿死了,大哥大姐你们行行好,给点编程知识吧!我会永远记住你们的恩情。
2006-09-25 17:44
快速回复:不用形参指针,而用函数内部变量能否实现同样的功能
数据加载中...
 
   



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

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