首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

数据结构中有一段代码看不懂,请大伙儿看看

2013-04-02 
数据结构中有一段代码看不懂,请大家看看。Status PreOrderTraverse(BiTree T,Status (*Visit)(ElemType e))

数据结构中有一段代码看不懂,请大家看看。

Status PreOrderTraverse(BiTree T,Status (*Visit)(ElemType e))
{
if(T)
{
if(Visit(T->data))
if(PreOrderTraverse(T->lchile,Visit))
if(PreOrderTraverse(T->rchild,Visit)) 
return ok;
return error;//这个return error 对应的事哪个if语句?
}                 
else
return ok;
}

[解决办法]
Status PreOrderTraverse(BiTree T,Status (*Visit)(ElemType e)) {
    if (T) {
        if (Visit(T->data)
         && PreOrderTraverse(T->lchile,Visit)
         && PreOrderTraverse(T->rchild,Visit))
             return ok;
        else return error;
    } else   return ok;
}

[解决办法]

#include<stdio.h>

int test();

int main(void)
{
int a;

a = test();
printf("a = %d\n",a);

return 0;
}

int test()
{
if(1)
{
if(1)
if(1)
if(1)
return 1;
return 2;
}
else
return 3;
}

像这样自己测试,对应哪个。
另外,不好的编程风格造成的后果就像这样

热点排行