lzting 发表于 2021-3-4 16:53:51

关于else if 的问题

#include <stdio.h>
void main()
{
    int a,b,c;
        printf("输入三个数: ");
        scanf("%d%d%d",&a,&b,&c);
        if(a>b>c)
        {
          printf("%d,%d,%d\n",a,b,c);
        }
        else if(a>c>b)
        {
          printf("%d,%d,%d\n",a,c,b);
        }
        else if(b>a>c)
        {
          printf("%d,%d,%d\n",b,a,c);
        }
        else if(b>c>a)
        {
          printf("%d,%d,%d\n",b,c,a);
        }
        else if(c>a>b)
        {
                printf("%d,%d,%d\n",c,a,b);
        }
        else if(c>b>a)
        {
           printf("%d,%d,%d\n",c,b,a);
        }
        else if(a==b==c)
        {
           printf("%d,%d,%d\n",a,b,c);
        }
        else if(a==b>c)
        {
          printf("%d,%d,%d\n",a,b,c);
        }
        else if(a==b<c)
        {
          printf("%d,%d,%d\n",c,a,b);
        }
        else if(b==c>a)
        {
          printf("%d,%d,%d\n",b,c,a);
        }
        else if(b==c<a)
        {
          printf("%d,%d,%d\n",a,b,c);
        }
        else if(a==c>b)
        {
          printf("%d,%d,%d\n",a,c,b);
        }
        else if(a==c<b)
        {
          print("%d,%d,%d\n",b,a,c);
        }
        else
        {
          printf("error");
        }
}
这是一个a,b,c比大小的程序,这样写为什么会报错呢?

昨非 发表于 2021-3-4 17:08:24

c语言里 else if(a>c>b)这种写法是不对的

逻辑判断语句不能连写
要改成:
else if(a>c&&c>b)

Sunr 发表于 2021-3-6 12:13:34

昨非 发表于 2021-3-4 17:08
c语言里 else if(a>c>b)这种写法是不对的

逻辑判断语句不能连写


咱以实验为准好吧

昨非 发表于 2021-3-6 12:36:06

Sunr 发表于 2021-3-6 12:13
咱以实验为准好吧

麻烦百度一下语法再来举例
c>b返回值为TRUE,也就是1,1>a,所以整体返回为TRUE

Sunr 发表于 2021-3-6 12:57:09

本帖最后由 Sunr 于 2021-3-6 13:10 编辑

昨非 发表于 2021-3-6 12:36
麻烦百度一下语法再来举例
c>b返回值为TRUE,也就是1,1>a,所以整体返回为TRUE

好吧我道歉,我有点曲解意思{:10_282:}
页: [1]
查看完整版本: 关于else if 的问题