三目运算符的作用


虽然以前学过三目运算符( 表达式1 ? 语句1 : 语句2  ),但是在学的时候并没有体验到三目运算符具体有什么作用。今天偶然看到一个教程,说到三目运算符可以用来简化 if 语句,思考了一下,确实可以。

比如:

       当判断两个数m和n的大小时,可以用

        int max = ( m > n ) ? m : n ;  

       而不需要下面这样

1 int max;
2 if( m > n )
3 {
4      max = m;
5 }
6 else
7 {
8      max = n;
9 }

    用 if 语句显然过于繁琐;然而三目运算符用于简化 if 语句时也有它的局限性 ----只能简化有两个出口的 if 语句,下面这个用于成绩分类的就不能够用三目运算符来简化了。

int score;

cout << "请输入您的成绩:" << endl;
cin >> score;

if ( score >= 90 )
{
  cout << "您的成绩为优秀!" << endl; 
}
else if ( 90 > score >= 80 )
{
  cout << "您的成绩为良好!" << endl;
}
else if ( 80 > score >= 70 )
{
  cout << "您的成绩为中等!" << endl;
}
else if ( 70 > score >=60)
{
  cout << "您的成绩为合格!" << endl;
}
else
{
  cout << "您的成绩不合格! " << endl;
}

对于这种多分支语句,这时候最好选择switch语句来表达...当然如果非要用三目运算符来简化也不是不可以,只不过就要嵌套几层三目运算符了,可以思考一下,如果多个三目运算符嵌套会让别人读起代码来很困难,自己理解来也困难,不如用switch语句明显易懂。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM