Aşağıdaki switchifadeyi 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.
gotokö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.
gotoesas olarak finallydurduğunda kaynakların (dosyalar, bellek) serbest bırakılması ve bir liste her hata durumunda tekrarlanması gereken freeve closeokunabilirlik için yardımcı olmaz fonksiyonlarında bir cümle gibi bir şey simüle etmek için kullanın. gotoKaçınmak istediğim ama yapamadığım bir kullanım olsa da , bir döngüden çıkmak istediğimde ve switchbu döngü içinde biriyim .