If语句的详细使用

1 语法结构:
 if(表达式)
           语句;
    if(表达式)
         语句1;
    else
         语句2;

    //多分支
    if(表达式)
        语句1;
  else if(表达式2)
        语句2;
    else
        语句3;
2 else悬空问题
代码如下:
#include 
int main()
{
    int a = 0;
      int b = 2;
        if(a == 1)
                 if(b == 2)
                             printf("hehe\n");
                        else 
                             printf("haha\n");
        return 0;

}
上述代码的无输出结果;
原因:1 首先编译器认为else是和最近的if进行匹配。
           2 开始时int a = 0,进入第一个if语句中,进行判断,错误,所以不执行后面的语句。所以没输出。