若善水 发表于 2022-10-13 15:21:50

多个if语句并列的时候,为什么最后一个if语句没有判断,直接输出了呢

#include<stdio.h>
int main()
{
        int a,b;
        scanf("%d %d",&a,&b);
        if(a>b)
        {
                printf("最大数为%d",a);
        }
        if(a<b)
        {
                printf("最大数为%d",b);
        }
        if(a=b)
        {
                printf("两数相等",b);
        }                
        else
        {
                printf("重新输入");
        }
}

输出结果:
88 66
最大数为88两数相等

jackz007 发表于 2022-10-13 15:29:13

本帖最后由 jackz007 于 2022-10-13 15:34 编辑

      这句有错
      if(a=b)
      得写这样
      if(a==b)
      用 if ... else if ... else if ... else 更加简洁
#include <stdio.h>

int main(void)
{
      int a , b                                  ;
      scanf("%d%d" , & a , & b)                  ;
      if(a > b) printf("最大数为 %d\n" , a)      ;
      else if(a < b) printf("最大数为 %d\n" , b) ;
      else printf("两数相等\n")                  ;
}

若善水 发表于 2022-10-13 16:04:50

jackz007 发表于 2022-10-13 15:29
这句有错

      得写这样


哈哈哈,赋值符号搞错了,谢谢大佬{:5_92:}
页: [1]
查看完整版本: 多个if语句并列的时候,为什么最后一个if语句没有判断,直接输出了呢