代码中省略的大括号

发布时间 2023-09-06 22:10:56作者: Captain_Amazing
今天碰到一段比较简单的代码, 如下
/* 初始条件: 二叉树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呀?! 后来, 加上大括号, 变得正常, 高亮跳到反大括号上面, 是不是很神奇!