2个回答
展开全部
#include<stdio.h>
int 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",k);
return 0;
}
/*c='A',k=1,执行break,到16行(下同),k=2,此时c='B'
c='B',k=1,case不表示判断,继续执行下一行,k=3,执行break,k=4,此时c='C'
c='C',k=6,执行break,k=7,此时c='D'
c='D',k=1,执行continue,结束本次while循环,此时c='E'
c='E',k=10,执行break,k=11,此时c='F'
c='F',k=3,顺序执行k++,k=4,此时c='G'
c='G',循环结束,此时k=4*/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char c = 'A'; //A的ASCII码为65;
do
{
switch (c++){
case 'A':k++; break; //第1次k = 1;
case 'B':k--; //k = 1
case 'C':k = k + 2; break; //第2次k = 3;
case 'D':k = k % 2;continue; //第3次k = 1
case 'E':k = k * 10; break; //第4次k = 10;
default:k = k / 3; //第5次k = 3;10/3=3;
}
k++; //每次退出switch +1
} while (c < 'G'); //G的ASCII码为71,即c<71,c++
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询