正在加载图片...
533条件运算符 般形式:expr1?expr2:expr3 执行过程 功能:相当于条件语句 条件运算符可嵌套 如于功2平0) 2==1)?1:0 3-b)%,a>b?ab); 优先级:=0)?xx 非0 0 结合方向>壑=2z)?ca'+A exprI 如a>b?a:c>d?c:d分a>b?a:哦懂 取expr3值 expr1、expr2、exp3类型可不同,表达式值取较高的类 型 例表达式21>073>2>1:4>3>275>4>3:6>5>4的值? x>y21:1.rxG;×y,值为15 结果:017 5.3.3 条件运算符 一般形式: expr1 ? expr2 : expr3 ▪执行过程 ▪功能:相当于条件语句 例 if (a>b) printf(“%d”,a); else printf(“%d”,b); printf(“%d”,a>b?a:b); 例 求 a+|b| printf(“a+|b|=%d\n”,b>0?a+b:a-b); expr1 取expr2值 取expr3值 非0 =0 例 (a==b)?’Y’:’N’ (x%2==1)?1:0 (x>=0)?x:-x (c>=‘a’ && c<=‘z’)?c-’a’+’A’:c ▪条件运算符可嵌套 ▪ 如 x>0?1:(x<0?-1:0) ▪优先级: 13 ▪结合方向:自右向左 ▪ 如 a>b?a:c>d?c:d  a>b?a:(c>d?c:d) ▪expr1、expr2、expr3类型可不同,表达式值取较高的类 型 例 x?‘a’:‘b’ //x=0,表达式值为‘b’; x‡0,表达式值为‘a’ x>y?1:1.5 //x>y ,值为1.0; x<y ,值为1.5 例 表达式2>1>0?3>2>1:4>3>2?5>4>3:6>5>4的值? 结果:0
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有