c - 最大的 3 个数字代码让我困惑

标签 c algorithm if-statement numbers

我写了一段代码,试图判断用户输入的三个数字中哪个数字最大。但是,我无法理解为什么我的代码在输入 3, 1, 2 时中断,而在输入 55, 54, 56 时有效。

我的代码:

main()
{
    int a,b,c;
    printf("enter three numbers");
    scanf("%d %d %d",&a,&b,&c);
    if(a>b && a>c)
        printf("%d is greatest",a);
    if(b>a && b>c)
        printf("%d is greatest",b);
    else printf("%d is greatest",c);
    getch();
}

我在做什么导致了这个错误,我该怎么做才能修复它?

最佳答案

你肯定漏掉了“else if”。

main()
{
    int a,b,c;
    printf("enter three numbers: ");
    scanf("%d %d %d",&a,&b,&c);

    if(a>b && a>c)
        printf("%d is greatest",a);
    else if(b>a && b>c)
        printf("%d is greatest",b);
    else 
        printf("%d is greatest",c);
}

关于c - 最大的 3 个数字代码让我困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10203425/

相关文章:

c - 很好的介绍(伪)随机数生成

iphone - 如何合并两个 NSArray

javascript - 如果语句相互缠绕不起作用

c++ - 贪心算法编号 list

c - 用 OpenCL C 编写快速线性系统求解器

java - Java中如何获取一个新的指针?

c - C 中的快速排序 : syntax error and undeclared identifiers

Python 风格 : if statements vs. bool 计算

c++ - C++ 中的模板和预处理

c++ - 在 VS 的控制台中显示 C 代码的输出