日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

switch在C++中的用法以及用switch结构时要注意的问题(细节问题比较全面)

發布時間:2025/6/17 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 switch在C++中的用法以及用switch结构时要注意的问题(细节问题比较全面) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在做題時發現自己將大一學的switch忘得差不多了,特地回顧一下。有不對地方歡迎指出,一起探討。

用switch結構時注意的問題:

1.switch只能接受整型和字符型,所以后面的各個case的取值也只能是整型或者字符型,不能是字符串!不能是變量!而且是相等時才執行
2.case后面若是字符型一定加的是單引號,加雙引號會被認為是字符串,不加單引號會被認為是變量(例如不加單引號,case b時:[Error] the value of ‘b’ is not usable in a constant expression或者 [Error] ‘b’ was not declared in this scope)
3.case后面的常量可以加小括號也可以不加
4.default后面不用再加break,當然,加上也不是不行
5.case 常量 后面的語句:不用寫花括號將case之后的語句括起來,有多條語句也不用
6.case后面不能跟表達式,如case(a>100)是不行的,可以用if ···else···語句來達到目的
7.case后面的數字直接跟就可以,如case 1,不用加單引號,否則會被認為是字符!那么就會與數字的ASCII碼進行比較。
簡言之,你定義的switch接收的是整型還是字符型,后面case對應的取值判斷時,也會把它轉換成整型或者字符型的再去和輸入比較。

case 后面跟的是switch(a)中這個變量a的可能的具體取值,
例如:
case 1:
······; break;
是當a==1時的處理情況。

驗證的代碼如下:

#include<iostream> using namespace std; const int N=1005;int main() {//int a;char a;while(true){cin>>a;switch(a){case 1:cout<<"case 1!"<<endl; cout<<"case 1!!"<<endl; break; //不用寫花括號將case之后的語句括起來case '2': //與2的ASCII碼比較{ cout<<"case 2!"<<endl; break; }// case b:// { cout<<"case b!"<<endl; break; } // 這樣寫不可以,會報錯:[Error] 'b' was not declared in this scope //編譯器將b當作變量對待case 'b':{ cout<<"case 'b'!"<<endl; break; }/* case "6": // 不可以,只能接收字符型或整型,不能是字符串常量{ cout<<"case "b"!"<<endl; break; } *//* case (a>100): // [Error] the value of 'a' is not usable in a constant expression{ cout<<"case a>100!"<<endl; break; } //不能是表達式,表達式可以用if else語句來寫 */case (7): //case后面可以加括號,也可以不加cout<<"case 7!"<<endl; break;default:cout<<"case 默認!"<<endl; //default后不用加break}}return 0; }

總結

以上是生活随笔為你收集整理的switch在C++中的用法以及用switch结构时要注意的问题(细节问题比较全面)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。