下面程序的运行结果是多少,求详细解释

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;
}

结果也为如图

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-12-20
一步步来呀 从B 到F 你试一下 k 经历过-1 0 1 2 0 1 10 11 3 4最后是4哦
相似回答