C语言?和:操作符怎么用

 我来答
随念文左丰
2019-08-26 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:624万
展开全部
C语言?和:是三目运算符,也叫三元运算符。
语法:表达式1
?
表达式2
:
表达式3;
作用:先执行表达式1,执行完毕,表达式1的结果如果为真,那么执行表达式2,并且这个整体的运算式的结果是表达式2的结果,否则执行表达式3,运算式的结果是表达式3的结果。
例如: int
res
=
1
?
10
:
20;
可以简单理解为表达式1成立吗?成立执行表达式2,否则执行表达式3。
扩展资料
关于三目运算符的几点说明:
1、通常情况下,表达式1是关系表达式或逻辑表达式,用于描述条件表达式中的条件,表达式2和表达式3可以是常量,变量或表达式。例如:
(x==y)?'Y':'N'(d=b*b-4*a*c)>=0?sqrt(d):sqrt(-d)ch=(ch>='A'&&ch<='Z')?(ch+32):ch
2、条件表达式的执行顺序为:先求解表达式1,若值为非0,表示条件为真,则求解表达式2,此时表达式2的值就作为整个条件表达式的值;
若表达式1的值为0,表示条件为假,则求解表达式3,表达式3的值就是整个条件表达式的值。例如:
(a>=0)?a:-a
执行结果是a的绝对值。
3、在程序中,通过把条件表达式的值直接赋予某个变量。例如:
min=(a<b)?a:b执行结果就是将条件表达式的值赋予变量min,即将a和b二者中较小的数赋给min。
矫侠晁容
2019-12-30 · TA获得超过3万个赞
知道小有建树答主
回答量:1.1万
采纳率:27%
帮助的人:779万
展开全部
C语言?和:是三目运算符,也叫三元运算符。
语法:表达式1
?
表达式2
:
表达式3;
函数:先执行表达式1,执行完毕,如果表达式1的结果为真,则执行表达式2,整个表达式的结果就是表达式2的结果,否则执行表达式3,结果是表达式3的结果。
例如:int
res=1?10:20;
可以简单理解为表达式1成立吗?成立执行表达式2,否则执行表达式3。
扩展资料:
关于三目运算符的几点说明:
1、通常,表达式1是用于描述条件表达式中的条件的关系表达式或逻辑表达式。表达式2和3可以是常量、变量或表达式。例如:
(x==y)?y':'n'(d=b*b-4*a*c)>=0?sqrt(d):sqrt(-d)ch=(ch>='a'&&ch<='z')?(CH+32):CH
2、条件表达式的执行顺序为:首先求解表达式1。如果值为非零,则条件为真,则求解表达式2,并将表达式2的值用作整个条件表达式的值;
如果表达式1的值为0,表示条件为假,则解方程3,表达式3的值是整个条件表达式的值。例如:
(a>=0)?a:-a执行的结果是a的绝对值。
3、在程序中,直接将条件表达式的值赋给变量。例如:
min=(a<b)的结果?a:b是将条件表达式的值赋给变量min,即a和b中的较小者赋给min。
参考资料来源:百度百科----C语言运算符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
奕凯泽拱淳
2019-09-13 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:768万
展开全部
'yes'和'no'不能算是字符,而是字符串。
字符串不能直接赋值,应该用strcpy(s,
(i%2==0)?"yes":"no");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
图门思粟虹
2019-03-23 · TA获得超过3.3万个赞
知道大有可为答主
回答量:1.2万
采纳率:30%
帮助的人:653万
展开全部
a>b?1:0;
若a>b,则表达式值为1,反正则表达式值为0
就是if...else...的一种短小的写法
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
凭思菱檀牧
2019-10-08 · TA获得超过3.1万个赞
知道大有可为答主
回答量:1.2万
采纳率:35%
帮助的人:651万
展开全部
用法
(判断表达式?A表达式:B表达式)//如果判断表达式为真,则执行A表达式,否则执行B表达式例子(将ab中较大的值赋给t):
int a=3,b=4,t;
t=(a>b?a:b);//显然a>b为假,所以取b,然后赋值给t
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式