Program4.3と見比べてみましょう。

Program4.4はbreak文がありません。

だから・・・

case 3:
printf(”a=3\n”);
case 2:
printf(”a=2\n”);
case 1:
printf(”a=1\n”);

が実行されます。switch-caseでは、break文が出てくるまで実行されます。Program4.4ではbreak文がないので、最後まで実行されてしまうのです。