代码中省略的大括号

今天碰到一段比较简单的代码, 如下
/* 初始条件: 二叉树T存在,e是T中某个结点 */
/* 操作结果: 返回e的左孩子。若e无左孩子,则返回"空" */
TElemType LeftChild(SqBiTree T,TElemType e)
{ 
    int i;
    if(T[0]==Nil) /* 空树 */
        return Nil;
    for (i = 0; i <= MAX_TREE_SIZE - 1; i++)
    {
        if (T[i] == e) /* 找到e */
            return T[i * 2 + 1];
    }
    return Nil; /* 没找到e */
}

原本for循环的大括号是没有的, 自己也这样写, 感觉没有什么问题, 但就在我调试代码的时候, 当if条件不成立时, 调试

高亮到了return语句, 不解, 会不是vs有bug呀?! 后来, 加上大括号, 变得正常, 高亮跳到反大括号上面, 是不是很神奇!

 

posted @ 2023-09-06 22:04  Captain_Amazing  阅读(7)  评论(0编辑  收藏  举报