作者:
Wardyal (Wardyal)
2023-04-06 13:39:17#include <stdio.h>
int main() {
int num = 3;
switch (num) {
case 1:
printf("Case 1\n");
break;
if (num == 3){
num = 2;
}
case 2:
printf("Case 2\n");
break;
case 3:
printf("Case 3\n");
break;
default:
printf("Default case\n");
}
return 0;
}
我在Switch裡面加上一個if statement
跑出來的結果還是Case 3
所以在Switch Case裡面只會執行那幾個Case?
還是我哪裡寫錯了?
早上改一段測試Code發現的問題
(另外不加上if,直接num = 2來修改也沒用)
你板有C語言大師嗎
作者:
Wardyal (Wardyal)
2023-04-06 13:44:00因為在測試一個不會進去的statement 想說直接在他前面改才發現好像不能改的?
作者:
koy784512 (我永遠喜歡風真いろは)
2023-04-06 13:45:00沒看過有人這樣用的
你都break了還想要他幹嘛他的流程就是case進去 break退出而已阿==
作者:
Wardyal (Wardyal)
2023-04-06 13:48:00單純想看第二個case的結果 又懶的改輸入的變數 D;
那個if就是case 1底下的一個區段 但因為break所以永遠不會抵達不要用縮排自己騙自己
作者:
Wardyal (Wardyal)
2023-04-06 13:51:00可是我加在第一個case之前也是一樣
作者:
TNPSCG (TNP)
2023-04-06 13:52:00先搞懂break的機制 跟你講的東西完全無關
如果它會執行前面別的case 還要這switch幹嘛?我猜你想做的事情是goto
作者:
Wardyal (Wardyal)
2023-04-06 13:55:00狗妹 我懂了