1. 程式人生 > >關於C語言中switch的case裡定義變數解決編譯報錯

關於C語言中switch的case裡定義變數解決編譯報錯

時間緊促,粗糙記錄一下!

一:

case 1:

int a;

break;

case 2:

......

二:

case 1:

char *p = malloc(......);

.......

case 2:

......


像一那樣在case裡面直接定義變數時,編譯器一般是會報錯的,應該改為如下,以表示是在{}的範圍內有效的變數

case 1:

{

int a;

......

break;

}

但二是不會報錯的。