C语言中“?”和“:”是什么意思?

 我来答
Xummer_昔年
推荐于2019-10-04 · TA获得超过2.1万个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:9.4万
展开全部

“?”在C语言中表示疑问。

“:”在C语言中表示判断的结果选择。

【例子】

(a>b)?

解释:判断表达式是否能够通过,如果能通过,那么说明才能进行之后的操作,如果不能通过,就选择后一种结果。

(a>b)?y:n

解释:如果A大于B,那么选择Y的结果,如果A小于B,那么选择N的结果。

Yuqi_Tan

2021-05-10 · TA获得超过8.9万个赞
知道大有可为答主
回答量:9918
采纳率:93%
帮助的人:3421万
展开全部
在C语言中,?与:组合使用,形成的表达式叫问号表达式。
语法是:
表达式一?表达式二:表达式三;
如果表达式一的逻辑值为真,则把表达式二的值作为问号表达式的值,否则,把表达式三的值作为问号表达式的值。
如:a=3>3?10:20;
运算结果是a被赋值20。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友294ab89
高粉答主

2021-04-07 · 每个回答都超有意思的
知道大有可为答主
回答量:6.4万
采纳率:39%
帮助的人:2336万
展开全部
起来的意思
我举个例子吧
int
a
=3;
int
b=
2;
int
c;
if(a>b)?(c=a):(c=b);//意思是如果a>b就执行c=a,否则就执行c=b
类似于下面的语句
if(a>b)
{
c=a;
}
else
{
c
=
b;
}

条件运算符是
?
:

  表达式为:表达式1?表达式2:表达式3
  表达式2是条件成立(逻辑值为1)时整个表达式的取值
  表达式3是条件不成立(逻辑值为0)时整个表达式的值
  例如:
m<n?x:a+3
  a++>=10
&&
b-->20
?
a
:
b
  x=3+a>5
?
100
:
200
  
优先级

  条件运算符优先级高于赋值、逗号运算符,低于其他运算符
  例如:
  ⑴
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
)
  
结合性

  条件运算符具有右结合性
  当一个表达式中出现多个条件运算符时,应该将位于最右边的问号与离它最近的冒号配对,并按这一原则正确区分各条件运算符的运算对象。
  例如:
  w<x
?
x+w
:
x<y
?
x
:
y
  与
w<x
?
x+w
:
(
x<y
?
x
:
y)
等价
  与
(w<x
?
x+w
:
x<y)
?
x
:
y
不等价
----欢迎加入------c++部落------------Hello
Word!--------
无论你是初学者还是家,只要你热爱编程、交流、分享,c++部落因为你而精彩~
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
房灵韵辟纯
2019-04-04 · TA获得超过3.1万个赞
知道大有可为答主
回答量:1.1万
采纳率:29%
帮助的人:628万
展开全部
?:是条件运算符,是c语言中唯一一个三目运算,形式为
表达式1?表达式2:表达式3、
判断表达式1的真假,若表达式1为真,则执行表达式2;若表达式1为假,则执行表达式3;

例如max=a>b?a:b的意思是若a>b成立,则将a的值赋予max,反之,将b的值赋予max
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
公良梅丁敏
游戏玩家

2019-01-21 · 游戏我都懂点儿,问我就对了
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:639万
展开全部
?
:
是一个三目运算符,也是唯一的一个三目运算符。?前面表逻辑条件,:前面也就是?后面表示条件成立时的值,:后面表条件不成立时的值。例如,当a>b时,x=1否则x=0,可以写成x=a>b?1:0。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(11)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式