switch case 變數生命週期

2021-09-24 05:22:43 字數 906 閱讀 3078

case 2:

//新增圖書

system.out.println("\n圖書資訊列表-->");

system.out.print("請輸入新增圖書名稱:");

string name = input.next();

//是否能新增圖書,如果貨架滿了(6)則無法新增false能新增true

boolean flagadd = false;

for (int i = 0;i今天在實現乙個簡單的圖書管理程式的時候,遇到switch case分支選項,在編寫case3的時候,name和i變數標紅

思考了一下應該是生命週期的問題,case 2中定義的name 的生命週期並沒有結束,對於乙個區域性變數,它的作用域為它所定義的地方到它所在的語句塊結束為止,所以將case2,case3前打{}即可

case 2:

73. }

74. if (!flagadd)

77. break;

78. }

79. case 3:

90. else

93. }

94. if (findboox==true)

97. else

100. break;

101. }

102.

switch case 中定義變數

剛剛又報了乙個 1540 0246 s the case statement bypasses the initialization of cstring sroamareacode 這種不清楚的狀況終於因為剛剛的一時興起,google了下下 原來只是加不加括號的區別。因為c 中變數的作用域是相鄰的...

switch case 語句內部變數定義

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

C 中switch case 中定義變數

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