回覆列表
  • 1 # yfccvvbhg

      if和switch的主要區別如下:  

    1)if的括號內的表示式可以分別是布林型別的合法表示式、可以是所有大於0的正整數為true,反之為小於等於0的正整數為false、可以是常量、列舉;而switch括號內也符合前面if提到的外,就是當圓括號內為正整數只能是0或1,其它的正整數屬於 default範圍。這點可以看如下程式碼:  switch (2) // 除了0和1的其它正整數  {  case false: // 對應0  printf("false\n");  break;  case true: // 對應1  printf("true\n");  break;  default: // 對應非0和1以外的正整數  printf("其它\n");  break;  }  

    2)儘管if括號內也支援常量、列舉但也是有前提的那就是常量或列舉必須要顯式給出相應的數值。而switch則不必;  

    3)switch適合處理判斷分支較多的情況下(程式碼可讀性好),而if適合處理判斷分支較少的情況下(反之程式碼可讀性差,容易出現漏判或重複判斷)。

  • 中秋節和大豐收的關聯?
  • 助聽器的冷凝珠會影響其效果嗎?