switch語句使用時注意事項
阿新 • • 發佈:2019-02-14
如下程式碼編譯時編譯器給出如下錯誤:error C2361: “default”標籤跳過“temp1”的初始化操作
void main()
{
int i;
switch(i)
{
case 1:
int temp1 = 1;
break;
default:
break;
}
}
如果採用下面的三種方法可以解決這個編譯錯誤:
方法一:在只有一個case語句的情況下使用不會出現此類編譯錯誤,程式碼如下:
void main()
{
int i;
switch(i)
{
case 1:
int temp1 = 1;
break;
}
}
方法二:採用先聲明後賦值的方法,程式碼如下:
void main()
{
int i;
switch(i)
{
case 1:
int temp1;
temp1 = 1;
break;
default:
break;
}
}
方法三:將case語句中程式碼利用”{}”括起來,程式碼如下:強烈推薦此方法
void main()
{
int i;
switch(i)
{
case 1:
{
int temp1 = 1;
break;
}
default:
{
break;
}
}
}
Switch語句程式設計規範總結:
【規則1】每個case 語句的結尾不要忘了加break,否則將導致多個分支重疊(除非有意使多個分支重疊)。
【規則2】不要忘記最後那個default 分支。即使程式真的不需要default 處理,也應該保留語句 default : break; 這樣做並非多此一舉,而是為了防止別人誤以為你忘了default 處理。 【規則3】 在使用switch語句時,不管case分支中有幾條語句,都是用”{}”將其括起來。
【規則2】不要忘記最後那個default 分支。即使程式真的不需要default 處理,也應該保留語句 default : break; 這樣做並非多此一舉,而是為了防止別人誤以為你忘了default 處理。 【規則3】 在使用switch語句時,不管case分支中有幾條語句,都是用”{}”將其括起來。