廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 5851 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
1234561231
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x8
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[C/C++][討論] switch的意思用法
請問switc ..

訪客只能看到部份內容,免費 加入會員 或由臉書 Google 可以看到全部內容



獻花 x0 回到頂端 [樓 主] From:臺灣中華電信股份有限公司 | Posted:2012-01-07 19:51 |
kb041204
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x14
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

// 其實switch 好像 if...elseif...else

switch(變數)
{ //記緊開括號!!
case 數值:
//如果變數是數值時要做的指令
break;

case 數值2:
//如果變數是數值2時要做的指令
break;

case 數值3:
//如果變數是數值3時要做的指令
break;

// 可以更多

default:
//如果變數不是以上全部的數值便要做的指令
break;

} //記緊關括號!!

此文章被評分,最近評分記錄
財富:50 (by ebolaman)


我用曬D錢來買威望 =,=
獻花 x1 回到頂端 [1 樓] From:沒有資料 | Posted:2012-01-07 22:02 |
ebolaman 手機 會員卡
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎

級別: 副版主 該用戶目前不上站
版區: 程式設計
推文 x38 鮮花 x458
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

參考

http://caterpillar.onlyfun.net/Gossi...chStatement.html






Switch 就是看例如 switch (a) 括號內的 a 的值 是什麼

然後就跑到底下 Case 中對應的數字,假如沒有對應的 case 會跑到 default

case N 很像是進入點,所以為什麼要加 break ? 因為不加 break 程式會繼續跑下去,底下的其他 case 中的東西也會被跑到,那就不是預期的結果了

我用兩張圖來表示



第一,沒有在 case 最後加入 break,會發生什麼事?




範例一:
複製程式
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a = 5;

    switch (a)
    {
    case 5:
        printf("5 is here\n");
    case 6:
        printf("6 is here\n");
    default:
        printf("default!!\n");
    }

    getchar();
}


就像溜滑梯一樣,程式判斷 a 是 5,然後就跑到 Case 5: 的進入點

接著就往下滑,case 6 和 default 都會跑到




第二,有加入 break;




範例二:
複製程式
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int a = 5;

    switch (a)
    {
    case 5:
        printf("5 is here\n");
    break;
    case 6:
        printf("6 is here\n");
    break;
    default:
        printf("default!!\n");
    }

    getchar();
}


那麼跑完成 printf("5 is here\n"); 遇到 break; 就會跳出 switch 的結構

不過要不要加 break; 還是要看你要設計什麼

此文章被評分,最近評分記錄
財富:100 (by 三仙) | 理由: ^^ 因為您的參與,讓程式設計更容易!!


My BOINC stats :

獻花 x1 回到頂端 [2 樓] From:臺灣教育部 | Posted:2012-01-07 23:46 |
kb041204
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x14
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

我加break是因為我寫程式的軟件不加break的話不知為何會繼續運行下去...


我用曬D錢來買威望 =,=
獻花 x0 回到頂端 [3 樓] From:沒有資料 | Posted:2012-01-08 00:27 |
1234561231
個人文章 個人相簿 個人日記 個人地圖
路人甲
級別: 路人甲 該用戶目前不上站
推文 x0 鮮花 x8
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

了解.另外問大家一個問題按鍵要怎綁定啊
要用到哪個語法


獻花 x0 回到頂端 [4 樓] From:臺灣中華電信股份有限公司 | Posted:2012-01-08 08:11 |
kb041204
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x14
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

問題按鍵即是甚麼?


我用曬D錢來買威望 =,=
獻花 x0 回到頂端 [5 樓] From:沒有資料 | Posted:2012-01-08 23:07 |
LASER10227
個人頭像
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x2 鮮花 x8
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

補充:

若是你在switch statment中任一個case有做declare的話,

請記得每個case都要加上program block {}

例如...

switch(n)
{
  case 1:
          int i;
          ...
          break;

這樣compiler不會給你過,這所為的cross initialization
因為你宣告的所以變數,在下一個case時lifetime還是存在的,所以要記得
加上大括號{}


獻花 x0 回到頂端 [6 樓] From:臺灣中華電信股份有限公司 | Posted:2012-01-13 17:33 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.061908 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言