http://www.reddit.com/r/programming/comments/rhbss/c_switch_with_broken_if_why_does_this_work/:tiltle
ときどきの雑記帖で紹介されていたコード。C code - 20 lines - codepad
#include <stdio.h> void main(void) { int a = 2; int b = 0; switch(a) { case 1: if(b==1) { puts("a"); break; case 2: puts("b"); break; default: puts("c"); break; } } }
実行してみたら、自分が思っていたのと違う結果が。これはちゃんと覚えておかないと。あえてこういうコードを書くことは無いけど。