条件运算符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;

物语云-VPS-美国洛杉矶VPS无限流量云windows大带宽100M不限流量 26/月起

物语云计算怎么样?物语云计算(MonogatariCloud)是一家成立于2016年的老牌国人商家,主营国内游戏高防独服业务,拥有多家机房资源,产品质量过硬,颇有一定口碑。本次带来的是特惠活动为美国洛杉矶Cera机房的不限流量大带宽VPS,去程直连回程4837,支持免费安装Windows系统。值得注意的是,物语云采用的虚拟化技术为Hyper-v,因此并不会超售超开。一、物语云官网点击此处进入物语云...

AlphaVPS(€3.99/月)VPS年付15欧,AMD EYPC+NVMe系列起

AlphaVPS是一家保加利亚本土主机商(DA International Group Ltd),提供VPS主机及独立服务器租用等,数据中心包括美国(洛杉矶/纽约)、德国、英国和保加利亚等,公司办公地点跟他们提供的保加利亚数据中心在一栋楼内,自有硬件,提供IPv4+IPv6,支持PayPal或者信用卡等方式付款。商家提供的大硬盘VPS主机,提供128GB-2TB磁盘,最低年付15欧元起,也可以选择...

RepriseHosting:$27.97/月-L5640,16G内存,1TB硬盘,10TB月流量,西雅图机房

RepriseHosting是成立于2012年的国外主机商,提供独立服务器租用和VPS主机等产品,数据中心在美国西雅图和拉斯维加斯机房。商家提供的独立服务器以较低的价格为主,目前针对西雅图机房部分独立服务器提供的优惠仍然有效,除了价格折扣外,还免费升级内存和带宽,商家支持使用支付宝或者PayPal、信用卡等付款方式。配置一 $27.97/月CPU:Intel Xeon L5640内存:16GB(原...

条件运算符为你推荐
电脑手机网页浏览器可否用电脑浏览手机网页?体系文件ISO体系文件分级nvidia官方网站NVIDIA显卡驱动站内搜索引擎搜索引擎工作原理与如何建立站内搜索0x800ccc0f任务“POP3.163.COM-正在接收”报告了错误(0x800CCC0F)快照优化网站快照优化需要注意什么t320华为T320怎么样burndownburn down与burn up有何区别摇一摇周边微信摇一摇周边怎么申请开通工作经验介绍个人简历中工作经验怎么写?
如何申请域名 查询ip地址 已经备案域名 buyvm uk2 国外私服 godaddy 国外免费空间 godaddy域名证书 大容量存储器 gspeed 广州服务器 搜索引擎提交入口 国外ip加速器 云营销系统 web应用服务器 华为云建站 nnt 谷歌搜索打不开 google搜索打不开 更多