可能重复:
达夫的设备是如何工作的?
我试图了解这是如何工作的。任何帮助,将不胜感激。
#include<stdio.h>
void duff(int count)
{
int n=(count+7)/8;
printf("n=%d count =%d\n",n,count%8);
switch(count%8){
case 0: do{ printf("case 0\n");
case 7: printf("case 7\n");
case 6: printf("case 6\n");
case 5: printf("case 5\n");
case 4: printf("case 4\n");
case 3: printf("case 3\n");
case 2: printf("case 2\n");
case 1: printf("case 1\n");
}while( --n >0);
}
}
main(){
int count;
scanf("%d",&count);
duff(count);
}
基本上,如果 switch case 评估为 case 语句 2,则不会执行 while 的 do 语句。但是我运行了这个程序,它给了我输出,但无法解释:
输出:
3
n=1 计数 =3
案例 3
案例 2
案例 1