适合便当带的菜谱:问个简单的C语言题

来源:百度文库 编辑:神马品牌网 时间:2024/05/08 21:05:19
{
int i;
for(i=0;i<3;i++)
switch(i)
{
case 1:printf(“%d”,i);
case 2:printf(“%d”,i);
default:printf(“%d”,i);
}
}

这个显示是011122
为什么会有3个'1'呢!我有点想不明白

因为 你没在case后面加上 break; 语句
所以,程序就顺序执行了
i=0时 执行default
i=1时 执行
case 1:printf(“%d”,i);
case 2:printf(“%d”,i);
default:printf(“%d”,i);

i=2时 执行
case 2:printf(“%d”,i);
default:printf(“%d”,i);

改正
case 1:printf(“%d”,i); break;
case 2:printf(“%d”,i); break;
default:printf(“%d”,i);

case 1、case 2、default,一共打印了3次,不break的话是一直做下去的