C语言三元运算符等价if语句详解及代码示例

三元运算符 z = (x > y ? x : y) 提供了一种简洁的表达条件判断的方式。它等价于以下 if 语句:

if (x > y) {
   z = x;
} else {
   z = y;
}

上机实验

以下代码演示了三元运算符和等价 if 语句的实现,并展示了不同输入情况下的运行结果。

#include <stdio.h>

int main() {
    int x, y, z;
    printf("请输入两个整数,用空格隔开:");
    scanf("%d %d", &x, &y);
    if (x > y) {
        z = x;
    } else {
        z = y;
    }
    printf("z = %d\n", z);
    return 0;
}

运行结果:

  • 请输入两个整数,用空格隔开:10 20 z = 20
  • 请输入两个整数,用空格隔开:30 15 z = 30
  • 请输入两个整数,用空格隔开:25 25 z = 25

总结

通过上机实验,我们可以看到三元运算符 z = (x > y ? x : y) 和等价 if 语句在功能上完全相同。选择哪种方式取决于你的个人喜好和代码风格。三元运算符简洁易懂,适合简单的条件判断,而 if 语句更灵活,适用于更复杂的逻辑判断。

C语言三元运算符等价if语句详解及代码示例

原文地址: https://www.cveoy.top/t/topic/l0mF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录