c三目运算符(c中什么是三目运算符)

本文目录
c中什么是三目运算符
条件运算符(?:)是C语言中唯一具的三目运算符,就是说它有三个运算对象。条件运算符的形式是"? :"由它构成的表达式称为条件表达式
例如条件语句:
if(a》b) max=a;else max=b;可用条件表达式写为
max=(a》b) ? a : b;
执行该语句的语义是:如a》b为真,则把袭a赋予max,否则把b 赋予max。
扩展资料:
条件运算符优先级高于赋值、逗号运算符,低于其他运算符。例如:
⑴ m《n ? x : a+3
等价于:(m《n) ?(x) :(a+3)
⑵ a++》=10 && b--》20 ? a : b
等价于:(a++》=10 && b--》20) ? a : b
⑶ x=3+a》5 ? 100 : 200
等价于:x= (( 3+a》5 ) ? 100 : 200 )
三目运算符在C语音和C++语言中的区别
三目运算符的返回类型不同。
C语言中,三目运算符返回的是变量值,不能作为左值使用。
C++中,三目运算符直接返回变量本身,因此可以作为左值使用。
例如:
int a = 2;
int b = 3;
(a》b?a:b) = 9;
这个例子可以在C++中使用,但是在C语言中,三目运算符返回的是整数常量,不能作为左值使用。
注意:在C++中,三目运算符作为左值的前提是 返回值是变量。 例如,下面这段代码在C++中不可以作为左值使用。
(a》b?3:4) = 9;
想要在C语言中实现此效果,也可以,如下:
int a = 2;
int b = 3;
*(a》b?&a:&b) = 9;

更多文章:
全球新冠肺炎疫情背景下航运发展(盐田港复苏日志:半年历劫从“低谷”到“爆仓” 疫情之后巨轮如何越洋航行)
2026年9月7日 17:10
matlab求解带字母参数方程组(我想matlab求一个关于x,y的方程组 ab c d f e h m n 都是参数)
2026年9月7日 16:30
oracle中的循环语句(下面哪个不是oracle程序设计中的循环语句 a for)
2026年9月7日 15:30
电脑里2个系统怎么删除一个(电脑开机显示有两个系统,如何删除一个)
2026年9月7日 12:20
scrollthrough意思(“scroll”是什么意思)
2026年9月7日 08:00
怎么激活keygen(注册机如何激活cad2008一个简单激活cad2008的方法)
2026年9月7日 06:30





