关于C语言?:运算符的用法

比如说a?b:c,那个运算符?:怎么用我忘了,求高手解释,谢谢了... 比如说a?b:c,那个运算符?:怎么用我忘了,求高手解释,谢谢了 展开
 我来答
帐号已注销
2019-06-29 · TA获得超过1.2万个赞
知道答主
回答量:25
采纳率:0%
帮助的人:5983
展开全部

a?b:c这个是条件表达式,也称三目运算符,表示如果a为真,则表达式值为b,如果a为假,则表达式值为c。

条件表达式语法举例说明如下:

if(a>b) {max=a} ; else {max=b};

可用条件表达式写为

max=(a>b)?a:b;

执行该语句的语义是:如a>b为真,则把a赋予max,否则把b 赋予max。


扩展资料

使用条件表达式的注意点:

1、条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值符。

因此 max=(a>b)?a:b

可以去掉括号而写为 max=a>b?a:b

2、条件运算符?和:是一对运算符,不能分开单独使用。

3、条件运算符的结合方向是自右至左。

例如: a>b?a:c>d?c:d 应理解为 a>b?a:(c>d?c:d)

yrm790613
推荐于2017-11-25 · TA获得超过183个赞
知道答主
回答量:64
采纳率:0%
帮助的人:51.2万
展开全部
三目运算符  <表达式1>?<表达式2>:<表达式3>; "?"运算符的含义是: 先求表达式1的值, 如果为真, 则执行表达式2,并返回表达式2的结果 ; 如果表达式1的值为假, 则执行表达式3 ,并返回表达式3的结果.
  例:
  int a=2;
  int c=3;
  int b=(a>c)?2:3;
  输出b;
  这样的结果是b为3
  eg:
  int a=1,b=2,z;
  z=a>b?a:(a>b?a:b);
  cout<<"z:"<<z<<endl;
  这样输出的结果是:2
  eg:
  int a=1,b=2,z;
  z=a>b?a:b;//去了括号
  cout<<"z:"<<z<<endl;
  这样的输出的结果是:2
  三目运算中执行方向依次为自右向左。
  在PHP中运用实例如下:
  $ps= $us ? md5($_POST[password].ALL_PS)== $row[password] : FALSE;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
七夜少侠
2012-08-04 · TA获得超过516个赞
知道小有建树答主
回答量:494
采纳率:0%
帮助的人:247万
展开全部
a如果是真,就取b的值,如果是假就取c的值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秒懂百科
2020-11-19 · TA获得超过5.9万个赞
知道大有可为答主
回答量:25.3万
采纳率:88%
帮助的人:1.2亿
展开全部

运算符:用于c语言中执行程序代码运算

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式