[問題] switch控制與while
請問一下以下的問題
int a=4;
int b=10;
switch(a)
{
case 1:
cout<<"case 1"<<endl;
break;
case 2:
cout<<"case 2"<<endl;
break;
case 3:
cout<<"case 3"<<endl;
while(a<b)
case 4:
cout<<"case 4"<<endl;
{a+=5}
break;
case 5:
cout<<"case 5"<<endl;
default:
cout<<"default"<<endl;
break;
}
要請問的問題在於,a=4所以switch會到case 4:這個標籤下執行
但卻是一直在while無窮迴圈,在「c語法暨程式庫標準辭典」這本書的第106頁
有段說明「switch主體通常是case標籤起始的區塊陳述式,而且不會執行第一個
case標籤之前的陳述式」
所以是從「case 4:」標籤開始執行,那while判斷式為什麼會被執行到呢???
謝謝,麻煩各位了。
--
諸 行 無 常
諸 行 是 苦
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.153.32
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1529574433.A.BE2.html
→
06/21 17:53,
7年前
, 1F
06/21 17:53, 1F
→
06/21 17:54,
7年前
, 2F
06/21 17:54, 2F
→
06/21 18:01,
7年前
, 3F
06/21 18:01, 3F
→
06/21 18:02,
7年前
, 4F
06/21 18:02, 4F
→
06/21 18:03,
7年前
, 5F
06/21 18:03, 5F
→
06/21 18:14,
7年前
, 6F
06/21 18:14, 6F
→
06/21 18:14,
7年前
, 7F
06/21 18:14, 7F
→
06/21 18:15,
7年前
, 8F
06/21 18:15, 8F
→
06/21 18:16,
7年前
, 9F
06/21 18:16, 9F
→
06/21 18:16,
7年前
, 10F
06/21 18:16, 10F
→
06/21 18:23,
7年前
, 11F
06/21 18:23, 11F
→
06/21 18:52,
7年前
, 12F
06/21 18:52, 12F
→
06/21 18:54,
7年前
, 13F
06/21 18:54, 13F
→
06/21 18:56,
7年前
, 14F
06/21 18:56, 14F
→
06/21 19:10,
7年前
, 15F
06/21 19:10, 15F
推
06/21 19:23,
7年前
, 16F
06/21 19:23, 16F
→
06/21 19:25,
7年前
, 17F
06/21 19:25, 17F
→
06/21 19:26,
7年前
, 18F
06/21 19:26, 18F
推
06/21 19:27,
7年前
, 19F
06/21 19:27, 19F
→
06/21 19:29,
7年前
, 20F
06/21 19:29, 20F
→
06/21 19:31,
7年前
, 21F
06/21 19:31, 21F
推
06/21 19:35,
7年前
, 22F
06/21 19:35, 22F
→
06/21 20:08,
7年前
, 23F
06/21 20:08, 23F
→
06/21 20:47,
7年前
, 24F
06/21 20:47, 24F
→
06/21 20:48,
7年前
, 25F
06/21 20:48, 25F
→
06/21 20:48,
7年前
, 26F
06/21 20:48, 26F
→
06/21 20:48,
7年前
, 27F
06/21 20:48, 27F
推
06/21 21:01,
7年前
, 28F
06/21 21:01, 28F
推
06/21 21:02,
7年前
, 29F
06/21 21:02, 29F
→
06/21 21:07,
7年前
, 30F
06/21 21:07, 30F
推
06/22 00:24,
7年前
, 31F
06/22 00:24, 31F
→
06/22 06:35,
7年前
, 32F
06/22 06:35, 32F
推
06/22 10:28,
7年前
, 33F
06/22 10:28, 33F