问号表达式(C语言问号表达式) 您所在的位置:网站首页 c语言中问号怎么用 问号表达式(C语言问号表达式)

问号表达式(C语言问号表达式)

#问号表达式(C语言问号表达式)| 来源: 网络整理| 查看: 265

问号表达式(C语言问号表达式)

来源:网友提问 浏览数:9001 关注:328人

最佳回答:

大家好,最近很多小伙伴想了解问号表达式,下面是(www.gazyc.com)小编整理的与问号表达式相关的内容分享给大家,一起来看看吧。

本文目录一览:

1、C语言问号表达式 2、(x)<(y)?(x):(y)在C语言中的意思? C语言问号表达式

……?……:……

式A?B:C值为:若A为真,则B;若A为假,则C。

但有一点是值得注意的,那就是问号表达式的结合 ,问号表达式是从右往左的运算方向

尤其是当问号表达式嵌套使用时得注意这个问题,例如

代码:

int a=1,b=2,c=3,d=4;

printf("%d",ab?a:cd?c:d);

正确结果是:1

因为先执行的是cd?c:d,会返回c,然后执行ab?a:c

因此得到的结果就是1(可以在编译器上实验一下)

(x)<(y)?(x):(y)在C语言中的意思?

(x)<(y)?(x):(y)在C语言中的意思是指如果表达式(x)<(y)成立即x小于y,则执行表达式(x),否则执行表达式(y)。(x)<(y)?(x):(y)叫做问号表达式。

举例及结果:

int a=5,b=3;

printf("%d",ab?a:b);

如果a大于b成立则执行:前面的即输出a。否则执行:后面的即输出b。本例中输出结果为5。

扩展资料:

问号表达式用法:求最大值和数值排序

1、求x、y、z的最大值

#include "stdio. "

main()

{

int x,y,z,max;

  scanf("%d%d%d",x,y,z);

  max=xy?(xz?x:z):(yz?y:z);

  printf("max=%d",max);

}

2、键盘输入三个整数,按由小到大的顺序输出。

#include "stdio. "

main()

{

int i,j,k,max;

scanf("%d%d%d",i,j,k);

max=ij?i:j;

max=maxk?max:k;

printf("max=%d",max);

}

以上就是问号表达式的介绍,希望能对大家有所帮助。

获赞:769

收藏:43

回答时间:2023-04-13 11:07:13



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有