MyException - 我的异常网
当前位置:我的异常网» C语言 » 数据结构中有一段代码看不懂,请大伙儿看看

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

www.myexceptions.net  网友分享于:2013-04-03  浏览:0次
数据结构中有一段代码看不懂,请大家看看。
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;
}

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

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有