C++中三目运算符是什么,怎么用
3个回答
推荐于2017-11-29
展开全部
三目运算符是?:结构的运算
所谓三目就是需要三个变量进行运算的操作。它等价于短if-else操作。
举个简单的例子:
c=a>b?a:b
这可分成几个部分,用括号分开:
(a=)(2>1)?(3):(4)
最左边是赋值操作
第二个部分是一个判断
第三和第四部分是两个常数
首先判断第三部分是否成立,成立即选择第三部分,否则选择第四部分
它相当于
if(a>b)
c=a;
else
c=b;
上面的例子用于获得a和b的最大值。
这种运算还可以嵌套
比如判断year是不是闰年,是则返回1,不是返回0
flag=(year%100==0)?(year%400==0?1:0):(year%4==0?1:0)
所谓三目就是需要三个变量进行运算的操作。它等价于短if-else操作。
举个简单的例子:
c=a>b?a:b
这可分成几个部分,用括号分开:
(a=)(2>1)?(3):(4)
最左边是赋值操作
第二个部分是一个判断
第三和第四部分是两个常数
首先判断第三部分是否成立,成立即选择第三部分,否则选择第四部分
它相当于
if(a>b)
c=a;
else
c=b;
上面的例子用于获得a和b的最大值。
这种运算还可以嵌套
比如判断year是不是闰年,是则返回1,不是返回0
flag=(year%100==0)?(year%400==0?1:0):(year%4==0?1:0)
2013-11-11
展开全部
三目运算就是下面这算式了
a>="a"&&a<="z")?(a+32):a
它的意思是:a代表的字符在小写字母'a'和'z'之间吗?如果是,运算结果是a+32;如果不是,结果是a
这段程序应该是字母大小写转换,但有点问题。如果是想把小写转成大写,后面应该是(a-32);如果是想把大写转成小写,引号里应该是大写字母A和Z
a>="a"&&a<="z")?(a+32):a
它的意思是:a代表的字符在小写字母'a'和'z'之间吗?如果是,运算结果是a+32;如果不是,结果是a
这段程序应该是字母大小写转换,但有点问题。如果是想把小写转成大写,后面应该是(a-32);如果是想把大写转成小写,引号里应该是大写字母A和Z
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-11-11
展开全部
X = P? Q: R; 相当於是 if(P) X=Q; else X=R;
cout << P? Q: R; 相当於是 if(P) cout << Q; else cout << R;
cout << P? Q: R; 相当於是 if(P) cout << Q; else cout << R;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询