溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

switch語句中是不是必須要有default選項(xiàng)

發(fā)布時間:2021-01-25 14:30:05 來源:億速云 閱讀:378 作者:小新 欄目:互聯(lián)網(wǎng)科技

小編給大家分享一下switch語句中是不是必須要有default選項(xiàng),希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

switch語句中不是必須有default選項(xiàng)的。switch語句首先會找滿足條件的case值做為執(zhí)行后面的程序入口,若所有的case都不滿足,則找default入口,若未找到則退出整個語句;default只是一個備用入口,有沒有都無所謂。

Switch在一些計(jì)算機(jī)語言中是保留字,其作用大多情況下是進(jìn)行判斷選擇;常和case、break、default一起使用。

switch語句可以用于基于不同的條件來執(zhí)行不同的動作。

switch語句是一個條件選擇語句,首先會找到滿足條件的case值做為執(zhí)行后面的程序入口;若所有的case都不滿足,則找default入口,若未找到則退出整個switch語句;所以default只是一個備用的入口,有沒有都無所謂。

但是為了進(jìn)行錯誤檢查或邏輯檢查,還是應(yīng)該在switch語句中加入default分支。

例如,下述switch語句完全合法:

switch (char_code)
{
      case tyt:
      case 'y': printf ( " You answered YES ! \n" )
           break
      case 'N':
      case 'n': printf ("You answered NO!\n");
           break
}

但是,如果一個未知字符被傳遞給這條switch語句,會出現(xiàn)什么情況呢?這時,程序?qū)]有任何輸出。因此,最好還是加入一個default分支,以處理這種情況:

......
default: printf ("Unknown response : %d\n", char_code);
          break
......

此外,default分支能給邏輯檢查帶來很多方便。例如,如果用switch語句來處理數(shù)目固定的條件,而且認(rèn)為這些條件之外的值都屬于邏輯錯誤,那么可以加入一個default分支來辨識邏輯錯誤。

請看下列:

void move_cursor (int direction)
{
     switch (direction)
     {
           case UP:     cursor_up()
                            break
           case DOWN:   cursor_down()
                            break
           case LEFT:   cursor_left ()
                            break
           case RIGHT:  cursor_ right ( )
                             break
           default:     printf ("Logic error on line number %ld!!! \n",
                                     __ LINE__ )
                             break
     }
}

看完了這篇文章,相信你對“switch語句中是不是必須要有default選項(xiàng)”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI