#include <stdio.h>
void main ()
{
int i=0;
for (i=0; i<21; i++)
{
switch(i)
{
case 0:
i+=5;
case 1:
i+=2;
case 5:
i+=5;
default:
i+=4;
break;
}
printf("%d ",i);
}
getchar();
}
现在这个程序的输出是16 21我不明白为什么这个程序在循环限制小于18时给出这个输出它只给出16但是当值大于18时输出是16 21 any帮助
答案 0 :(得分:6)
您需要在每个案例结尾处放置break
个陈述。否则,每个案件都会落到&#39;到下一个。