数学
C++中 ch=='\x28'?1:ch=='\x29'?-1:0;什么意思说的很清楚!呵呵!但我想知道ch=='\x28'什么意思!呵呵呵!谢谢了!

2019-04-08

C++中 ch=='\x28'?1:ch=='\x29'?-1:0;什么意思
说的很清楚!呵呵!但我想知道ch=='\x28'什么意思!呵呵呵!谢谢了!
优质解答
C++语言中提供了一个三元运算符“?:”,它的一般形式如下:
表达式1?表达式2 :表达式3
其中,表达式1是一个关系或逻辑表达式,表达式2和表达式3均是任何合法的C++表达式.
执行过程是先对表达式1求值,其值为非0时,则整个表达式的值为表达式2的值;否则,整个表达式的值为表达式3的值.
例如,语句
max = a>b a :b ;
的功能是取a和b中的大值,并把这个值赋给变量max.
条件运算符按右结合方式求值.例如,求a,b,c之中的最大值,用条件表达式可以表示为:
a>b a>c a :c :b>c b :c
相当于
a>b (a>c a :c) :(b>c b :c)
ch=='\x28'?1:ch=='\x29'?-1:0
相当于ch=='\x28'?1:(ch=='\x29'?-1:0)
【1】若ch=='\x29'为真,"ch=='\x29'?-1:0"为-1,
则"ch=='\x28'"为假,故"ch=='\x28'?1:ch=='\x29'?-1:0"最终值为-1
【2】若ch=='\x29'为假,"ch=='\x29'?-1:0"为0,
(1)若"ch=='\x28'"为真,则"ch=='\x28'?1:ch=='\x29'?-1:0"最终值为1,(2)若"ch=='\x28'"为假,则"ch=='\x28'?1:ch=='\x29'?-1:0"最终值为0,
C++语言中提供了一个三元运算符“?:”,它的一般形式如下:
表达式1?表达式2 :表达式3
其中,表达式1是一个关系或逻辑表达式,表达式2和表达式3均是任何合法的C++表达式.
执行过程是先对表达式1求值,其值为非0时,则整个表达式的值为表达式2的值;否则,整个表达式的值为表达式3的值.
例如,语句
max = a>b a :b ;
的功能是取a和b中的大值,并把这个值赋给变量max.
条件运算符按右结合方式求值.例如,求a,b,c之中的最大值,用条件表达式可以表示为:
a>b a>c a :c :b>c b :c
相当于
a>b (a>c a :c) :(b>c b :c)
ch=='\x28'?1:ch=='\x29'?-1:0
相当于ch=='\x28'?1:(ch=='\x29'?-1:0)
【1】若ch=='\x29'为真,"ch=='\x29'?-1:0"为-1,
则"ch=='\x28'"为假,故"ch=='\x28'?1:ch=='\x29'?-1:0"最终值为-1
【2】若ch=='\x29'为假,"ch=='\x29'?-1:0"为0,
(1)若"ch=='\x28'"为真,则"ch=='\x28'?1:ch=='\x29'?-1:0"最终值为1,(2)若"ch=='\x28'"为假,则"ch=='\x28'?1:ch=='\x29'?-1:0"最终值为0,
相关标签: 谢谢
相关问答