【C语言-三目运算符】代码学习

【C语言-三目运算符】代码学习,第1张

三目运算符 C语言版
  • 基础理解
  • 提高三目运算符复杂度
  • 难理解的三目运算符

基础理解

表达式1?表达式2:表达式3;

  • 三目运算符属于条件运算符,可与 if 判断函数类比。
  • 其运算规则是:先计算表达式1中内容,如果表达式1中内容为真,则计算表达式2中内容并返回;若表达式1中内容为假,则计算表达式3中内容并返回。
  • 最简单的三目运算符如:
#include

int main(){
	int a,b,c;
  	a=7;
 	b=6;
  	c=(a>b)?a:b;
	
	return 0;
}

等价于 if 判断函数:

#include

int main(){
	int a,b,c;
  	a=7;
 	b=6;
  	if (a>b) c=a;
  	else c=b;
	
	return 0;
}

提高三目运算符复杂度

思考如何运用三目运算符返回三个输入中的最大值。
测试题目见:https://edu.csdn.net/skill/practice/c-1d3d9e97b98b4151b87c4433d987af83/327?typeId=18462&language=c

方案1

#include 

int main()
{
    int a, b, c, max;
    printf("请输入3个整数:");
    scanf("%d,%d,%d", &a, &b, &c);

    max = a > b ? (a > c ? a : c) : (b > c ? b : c);
    printf("3个整数中的最大的是:%d", max);

    return 0;
}

提取出关键判断语句:

max = a > b ? (a > c ? a : c) : (b > c ? b : c);

含义解释:


难理解的三目运算符

还是思考如何运用三目运算符返回三个输入中的最大值。

方案2

#include 

int main()
{
    int a, b, c, max;
    printf("请输入3个整数:");
    scanf("%d,%d,%d", &a, &b, &c);

    max = (c > ((a > b) ? a : b)) ? c : ((a > b) ? a : b);
    printf("3个整数中的最大的是:%d", max);

    return 0;
}

提取出关键判断语句:

max = (c > ((a > b) ? a : b)) ? c : ((a > b) ? a : b);

含义解释:

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/797696.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-06
下一篇2022-05-06

发表评论

登录后才能评论

评论列表(0条)

    保存