switch case 中定義變數

2021-09-20 14:05:54 字數 478 閱讀 4157

剛剛又報了乙個:1540-0246 (s) the "case" statement bypasses the initialization of "cstring sroamareacode".

這種不清楚的狀況終於因為剛剛的一時興起,google了下下~~

原來只是加不加括號的區別。

因為c++中變數的作用域是相鄰的兩個大括號,假設下面的例子:

int nchoose; 

switch(nchoose)

i的作用域是switch的兩個大括號,這樣如果nchoose的值是2的話,就會跳過i的宣告 定義語句,出錯是必然的。

所以,只要加個大括號,就什麼問題都解決啦

int nchoose; 

switch(nchoose)

break;

case 2:

break;

default:

break; }

出處:張東公升

C 中switch case 中定義變數

在c 中switch case中定義變數 1.int n 3 1 switch n 報錯資訊 error c2360 y 的初始化操作由 case 標籤跳過 這是因為可能出現在case 2中定義了,但是在case 3中使用了 當然,我們沒在case3中使用了,但編譯器認為這種可能會發生 但程式執行的...

switch case 語句內部變數定義

switch case語句是非常常用的語句,入門的碼農也知道是做什麼的。但關於switch case內定義變數的問題,網上的很多博文都有謬誤,在這裡我寫一下對這個語句的了解。一先看合法的定義方式 int main int argc,const char argv 的定義域中,有對此變數的呼叫,那就是...

switch case 變數生命週期

case 2 新增圖書 system.out.println n圖書資訊列表 system.out.print 請輸入新增圖書名稱 string name input.next 是否能新增圖書,如果貨架滿了 6 則無法新增false能新增true boolean flagadd false for ...