条件运算符C语言 条件运算符:?: 怎么运算

条件运算符  时间:2021-09-09  阅读:()

条件运算符的嵌套

条件运算符的语法为: (条件表达式)?(条件为真时的表达式):(条件为假时的表达式) 例如: x=a<b?a:b; 条件运算符构成一个表达式。

它是C++中唯一一个3元运算符,它们之间用“?”和“:”隔开。

上例中,把a和b中较小的值赋给x。

该例是if...else语句的一个替代: if(a<b) x=a; else x=b; 条件运算符构成表达式,它是有值的。

而if..else语句不能有值,所以if..else语句不能替代条件运算符。

例如,下面的代码不能由if..else替代: cout <<(a<b?a:b) <<endl; 输出语句要打印一个值,该值是a与b的较小值。

由于<<的优先级高于条件运算符,所以输出语句中要将条件运算符构成的表达式用括号括起来。

条件运算符表达式的值与测试值没有直接的关系。

例如: cout <<(number==l?"file":"files") <<endl; 该输出语句中,条件运算符表达式的条件若成立,取值为“file”,否则,取值为“files”。

其中,条件为两个整型数的比较, 而表达式的值为字符串。

条件运算符可以嵌套。

例如: x>y?"greater than":x==y?"equal to":"less than" 它等价于: (x>y)?"greater than":((x==y)?"equal to":"less than") 当x>y时,值为"greater than",x==y时,值为"equal to",否则,值为"less than"。

条件运算符的嵌套可读性不够好。

在一个条件运算符的表达式中,如果后面两个表达式的值类型相同,均为左值,则该条 件运算符表达式的值为左值表达式。

例如: int x=5; long a,b; (x?a:b)=1; //ok:因为a和b都是左值 (x?x:a)=2;//error:x和a不同类型。

编译器将其解释为(1ong)x和a (x==271:a)=3; //error:1非左值 "(x?a:b)=1"表示当x为0时,b=1,否则a=1。

这里的括号是必须的,否则将被看作x?a:(b=1)。

"(x?x:a)=2”中,尽管x是左值,a也是左值,但x与a不同类型,条件运算符要对其进行操作数的隐式转换,使之成为相同的类型。

任何被转换的变量都不是左值。

->在C中,条件运算符是不能作左值的,所以"(x?a:b)=1;"将通不过编译。

C语言 条件运算符:?: 怎么运算

int a=x>y?6:7;

等同于

int a;

if(x>y)

a=6;

else a=7;

spinservers:10Gbps带宽高配服务器月付89美元起,达拉斯/圣何塞机房

spinservers是一家主营国外服务器租用和Hybrid Dedicated等产品的商家,Majestic Hosting Solutions LLC旗下站点,商家数据中心包括美国达拉斯和圣何塞机房,机器一般10Gbps端口带宽,且硬件配置较高。目前,主机商针对达拉斯机房机器提供优惠码,最低款Dual E5-2630L v2+64G+1.6TB SSD月付89美元起,支持PayPal、支付宝等...

华为云(69元)828促销活动 2G1M云服务器

华为云818上云活动活动截止到8月31日。1、秒杀限时区优惠仅限一单!云服务器秒杀价低至0.59折,每日9点开抢秒杀抢购活动仅限早上9点开始,有限量库存的。2G1M云服务器低至首年69元。2、新用户折扣区优惠仅限一单!购云服务器享3折起加购主机安全及数据库。企业和个人的优惠力度和方案是不同的。比如还有.CN域名首年8元。华为云服务器CPU资源正常没有扣量。3、抽奖活动在8.4-8.31日期间注册并...

企鹅小屋:垃圾服务商有跑路风险,站长注意转移备份数据!

企鹅小屋:垃圾服务商有跑路风险!企鹅不允许你二次工单的,二次提交工单直接关服务器,再严重就封号,意思是你提交工单要小心,别因为提交工单被干了账号!前段时间,就有站长说企鹅小屋要跑路了,站长不太相信,本站平台已经为企鹅小屋推荐了几千元的业绩,CPS返利达182.67CNY。然后,站长通过企鹅小屋后台申请提现,提现申请至今已经有20几天,企鹅小屋也没有转账。然后,搞笑的一幕出现了:平台账号登录不上提示...

条件运算符为你推荐
优翼奇瑞优翼车子拉缸气缸是维修还是换。换的话大概多少钱?监控员工我现在在看监控一线员工的。如何做好看监控的工作?0x800ccc0f错误号: 0x800CCC0F 这个是虾米意思?乐辞自驱力读后感sd卡座sd卡座使用过程中需注意哪些事项里程碑2摩托罗拉里程碑2怎么样韩文在线翻译韩语在线翻译java变量设置java的环境变量设置e游一般的动漫游戏中,EX是什么意思详单查询中国移动通话详单查询
海外服务器租用 深圳域名注册 哈尔滨域名注册 bluehost web服务器架设软件 idc资讯 免费网络 酸酸乳 国内空间 北京主机托管 石家庄服务器 phpinfo windows2008 cx域名 windowsserverr2 服务器机柜 weblogic部署 pptpvpn 网络安装 瓦工工具 更多