C语言中“?”和“:”是什么意思?
13个回答
展开全部
在C语言中,?与:组合使用,形成的表达式叫问号表达式。
语法是:
表达式一?表达式二:表达式三;
如果表达式一的逻辑值为真,则把表达式二的值作为问号表达式的值,否则,把表达式三的值作为问号表达式的值。
如:a=3>3?10:20;
运算结果是a被赋值20。
语法是:
表达式一?表达式二:表达式三;
如果表达式一的逻辑值为真,则把表达式二的值作为问号表达式的值,否则,把表达式三的值作为问号表达式的值。
如:a=3>3?10:20;
运算结果是a被赋值20。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
起来的意思
我举个例子吧
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++部落因为你而精彩~
我举个例子吧
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++部落因为你而精彩~
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
?:是条件运算符,是c语言中唯一一个三目运算,形式为
表达式1?表达式2:表达式3、
判断表达式1的真假,若表达式1为真,则执行表达式2;若表达式1为假,则执行表达式3;
例如max=a>b?a:b的意思是若a>b成立,则将a的值赋予max,反之,将b的值赋予max
表达式1?表达式2:表达式3、
判断表达式1的真假,若表达式1为真,则执行表达式2;若表达式1为假,则执行表达式3;
例如max=a>b?a:b的意思是若a>b成立,则将a的值赋予max,反之,将b的值赋予max
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
?
:
是一个三目运算符,也是唯一的一个三目运算符。?前面表逻辑条件,:前面也就是?后面表示条件成立时的值,:后面表条件不成立时的值。例如,当a>b时,x=1否则x=0,可以写成x=a>b?1:0。
:
是一个三目运算符,也是唯一的一个三目运算符。?前面表逻辑条件,:前面也就是?后面表示条件成立时的值,:后面表条件不成立时的值。例如,当a>b时,x=1否则x=0,可以写成x=a>b?1:0。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询