注意括号匹配的问题

int main()
{
    int a = 3;

    printf("a = %d
",a);
    printf("Case 1:");
    if (a > 0) {
        if (a > 5) {
            printf("a > 5");
        }
    } else {
        printf("a <= 0");
    }
    printf("--
");

    printf("Case 2:");
    if (a > 0)
        if (a > 5)
            printf("a > 5");
    else
        printf("a <= 0");
    printf("--
");
    return 0;
}

上面两个Case 的代码作用相同吗?是不是都不会输出?

执行结果:

a = 3
Case 1:--
Case 2:a <= 0--

其实就是个if else 配对的问题了,注意下就好了。所以尽量单语句也要加括号,避免不必要的麻烦。

原文地址:https://www.cnblogs.com/gongpixin/p/6613655.html