Aşağıdaki switch
ifadeyi düşünün :
switch( value )
{
case 1:
return 1;
default:
value++;
// fall-through
case 2:
return value * 2;
}
Bu kod derlenir, ancak C90 / C99 için geçerli mi (= tanımlı davranış)? Ben hiç varsayılan durumda son durumda değil kodu görmedim .
DÜZENLEME:
As Jon Cage ve KillianDS yazma: Bu gerçekten çirkin ve kodu kafa karıştırıcı olduğunu ve bunun farkındayım. Sadece genel sözdizimi (tanımlanmış mı?) Ve beklenen çıktı ile ilgileniyorum.
goto
kötü değil. Kargo kült takipçileri! İnsanların kaçınabilecekleri şeyleri hayal edemezsiniz goto
çünkü bu çok kötü bir şeydir ve kodlarının okunamayacağı bir karmaşa yaratır.
goto
esas olarak finally
durduğunda kaynakların (dosyalar, bellek) serbest bırakılması ve bir liste her hata durumunda tekrarlanması gereken free
ve close
okunabilirlik için yardımcı olmaz fonksiyonlarında bir cümle gibi bir şey simüle etmek için kullanın. goto
Kaçınmak istediğim ama yapamadığım bir kullanım olsa da , bir döngüden çıkmak istediğimde ve switch
bu döngü içinde biriyim .