问个关于else语句的有关问题。

问个关于else语句的问题。。。。。。
在c语言中 else总是和之前与最近的且不带else的if语句配对
  大家看看这段代码 
  main()
  {
  int a=3,b=-8,c=5;
  if(a<b)
  if(b<0) c+=10;
  else c+=20;
  printf("%d",c);
  }
  输出的结果是c=25  
和c语言中的规定不符啊


------解决方案--------------------
C/C++ code

main()
    {
        int a=3,b=-8,c=5;
        if(a<b)
        {
            if(b<0)
            {
                c+=10;
            }
            else
            {
                c+=20;
            }
        }
            printf("%d",c);
    }

------解决方案--------------------
if(a<b)就不符合
直接调到
c+=20了
------解决方案--------------------
[code=C/C++]
main()
{
int a=3,b=-8,c=5;
if(a <b)
{
if(b <0) c+=10;
}
else
{
c+=20;
}
printf( "%d ",c);
}
好看多了吧 初学者把代码写规范一点

[/code]
------解决方案--------------------
中间的if被忽略掉了
------解决方案--------------------
C/C++ code
    int a=3,b=-8,c=5;
    if(a<b)
    {
        if(b<0)
        {
            c+=10;
        }
    }
    else
    {
        c+=20;
    }
    printf("%d",c);//这样输出结果是25 不知道是不是你要的

------解决方案--------------------
你那是什么编译器?答案很明显是5
------解决方案--------------------
a=3,b=-8,所以a<b就不成立啊,直接执行的c=c+20啊,所以结果就是25啊。