e148.c

case 森の石松:を忘れていませんか?


typedef enum { oo_masa, ko_masa, mori_no_ishimatu } shimizu_t ; int main() { shimizu_t simizu_to_ieba = mori_no_ishimatu;
/*修正前*/ switch(simizu_to_ieba) { case oo_masa: break; case ko_masa: break; ; /* LOOK */ }
/*修正例*/ switch(simizu_to_ieba) { case oo_masa: break; case ko_masa: break; ; default: printf("だれか忘れちゃいませんか!!¥n") ; } return(0) ; }

解説: 清水と言えば、大政、小政 て、 だれか忘れちゃいませんか くどい解説: typedef enum によって、 oo_masa, ko_masa, mori_no_ishimatuを、 shimizu_t組としました、 しかし、 switch(simizu_to_ieba) { case oo_masa: case ko_masa: ; } ではcase 文にmori_no_ishimatuが、 記述されていません。 default:もありません。 mori_no_ishimatuの立場はどうなって しまうのでしょうか? 考えられるのは、 1) 単に忘れた。 =>BUG 2) 忘れてないけどおよびでない。 =>問題なし。