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) 忘れてないけどおよびでない。
=>問題なし。