suchenxiang 发表于 2022-4-8 16:31:00

这一串代码应该怎么理解呢?

#include<stdio.h>
int main( )
{
        int x=10,y=20;
        if(x!=0)
        y=1;
        else if(x==1)
        y=0;
        y=-1;
        printf("%d",y);
}

大马强 发表于 2022-4-8 16:36:42

本帖最后由 大马强 于 2022-4-8 16:39 编辑



#include<stdio.h>
int main( )
{
      int x=10,y=20;
      if(x!=0) // 当x不为0时 y=1   
              y=1;   
      else if(x==1) // 当x =1 时,y=0
              y=0;
      y=-1; //y 赋值成 -1, 所以你上面的if语句相当于没用
      printf("%d",y); // 输出 y = -1
}       

andy大宝 发表于 2022-4-8 16:40:04

#include<stdio.h>
int main( )            //加上缩进,跟容易理解
{
    int x=10,y=20;
    if(x!=0)      
      y=1;             //这条语句在if条件表达式里面,因为条件成立,执行这个语句
                         //此时y=1
    else if(x==1)
      y=0;             //这里的else与if匹配,不执行这条语句
    y=-1;                //如果不加大括号,条件表达式后面只能跟一条语句,所以这个语句不在else if里面,执行这个语句
                         //此时y=-1
    printf("%d",y);
}
页: [1]
查看完整版本: 这一串代码应该怎么理解呢?