三目運算符的作用


雖然以前學過三目運算符( 表達式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