#include <stdio.h>
int main(void) {
int a = 1;
switch(a) {
int i = 2;
case 1: printf("%d",i);
break;
default: printf("Hello\n");
}
}
以下代碼示例給出36作爲輸出。這怎麼可能?我知道編譯器會直接將控件轉移到case 1,而不需要評估i
。但是,爲什麼我得到的輸出爲36? PS:我正在使用GCC。初始化switch語句中的變量
爲什麼在java下標記? – Curious
這將如何幫助? @GAURANGVYAS – Jarvis
我得到'0',所以我懷疑你觸發了未定義的行爲(至少在C中)。 –