main()
{ int k=0;char c='A';
do
{switch(c++)
case 'A':k++;break;
case 'B':k--;
case 'C':k+=2;break;
case 'D':k=k%2;continue;
case 'E':k=k*10;break;
default:k=k/3;
}
k++;
}while(c<'G');
printf("k=%d\n",k);
#include<stdio.h>
main()
{ int k=0;char c='A';
do
{switch(c++)
{
case'A':k++;break;
case'B':k--;
case'C':k+=2;break;
case'D':k=k%2;continue;
case'E':k=k*10;break;
default:k=k/3;
}
k++;
}
while(c<'G');
printf("%d\n",k);
}
编译结果是4,为什么
将每一步执行的值输出
则代码为
#include<stdio.h>
int main()
{
int k=0;
char c='A';
do
{
switch(c++)
{
case 'A':k++;break;
case 'B':k--;printf("'B',K=%d|",k);
case 'C':k+=2;printf("'C',K=%d|",k);break;
case 'D':k=k%2;printf("'D',K=%d|",k);continue;
case 'E':k=k*10;printf("'E',K=%d|",k);break;
default:k=k/3;printf("defualt K=%d|",k);
}k++;
printf("%d\n",k);
}while(c<'G');
printf("k=%d\n",k);
return 0;
}
结果也为如图