c - 有什么办法可以在不使用三元运算符的情况下减少 IF 语句吗?

标签 c

这是一个工作代码,我只是想问一下是否可以减少 if 语句。我可以在单个 if 语句中编写所有条件吗?

我尝试使用 less if 语句。

int main()
{
    int a, b, c, maximum;
    printf("Enter three numbers:");
    scanf("%d%d%d", &a, &b, &c);
    if ((a > b) && (a > c))
    {
        maximum = a;
    } 
    else if ((b > a) && (b > c)) 
    {
        maximum = b;
    }
    else {
        maximum = c;
    }
    printf("The Maximum among three is = %d", maximum);
    return 0;
}

最佳答案

您可以通过减少比较来简化代码:

maximum = a;
if(maximum < b) { maximum = b; }
if(maximum < c) { maximum = c; }

如果您对数组进行搜索,这与循环展开优化相同。

关于c - 有什么办法可以在不使用三元运算符的情况下减少 IF 语句吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57252079/

相关文章:

c - 在C中读取和写入文件中的两位数值

c++ - 如何将 "shebang"文件的内容提供给它调用的程序?

c++ - 是否可以在 GA144 上运行仿真的 C 代码?

c - 如何在 C 和 Perl 中反转一个句子

c - unsigned char 的大小是 8 位,但为什么我可以将它(向左或向右)移动 31 位或最多 31 位?

c - C中声明语句和赋值语句的区别?

c++ - 如何将其定义为宏?

将矩阵 A 转换为稀疏格式 CSR、COO 等

c - char* 数组以及如何为每个数组分配内存

c - 使用 make & C 计算多文件编译