简单C题目: #include<stdio.h> void main() { int k=0; char c='A'; do { switch(c++) { case 'A':k+

完整题目:
#include<stdio.h>
void 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;break;
case 'E':k=k*10;break;
default:k/3;
}k++;
}while(c<'G');
printf("k=%d\n",k);
}
明确告诉你:运行结果还有答案都是k=8,但是我自个计算的时候是下面的结果,还请大侠们指点,谢谢!!!
第一次循环结束:c='B' ;k=2;
第二次循环结束:c='C' ;k=5;
第三次循环结束:c='D' ;k=2;
第四次循环结束:c='E' ;k=21;
第五次循环结束:c='F' ;k=8;
第六次循环结束:c='G' ;k=3;

k/3这句应该写成k=k/3
第1次循环:进入switch时,c=A
跳出switch时,k=1,c=B
k自增后:k=2
第2次循环:进入switch时,c=B
跳出switch时,k=3,c=C
k自增后:k=4
第3次循环:进入switch时,c=C
跳出switch时,k=6,c=D
k自增后:k=7
第4次循环:进入switch时,c=D
跳出switch时,k=1,c=E
k自增后:k=2
第5次循环:进入switch时,c=E
跳出switch时,k=20,c=F
k自增后:k=21
第6次循环:进入switch时,c=F
跳出switch时,k=7,c=G
k自增后:k=8
温馨提示:内容为网友见解,仅供参考
第1个回答  2020-06-19
/*
k=1,c='A';k=1; k=2;
k=2,c='B';k=1; k=2;
k=2,c='C';k=4; k=5;
k=5,c='D';k=1; k=2;
k=2,c='E';k=20; k=21;
k=21,c='F';k=7; k=8;
*/
第2个回答  2012-11-06
你这运行结果应该是:22
第一次结束:c='B' K=2
第二次结束; C='C',K=2
第三次结束 C='D' K=5
第四次结束 c='E' K=2
第五次结束 C='F' K=21
第六次结束 C='G' K=22
重点是记住do-while 语句是先执行在判断的 ,那个default语句是不执行的,因为条件内c都小于G,G时已经结束
第3个回答  2012-11-06
第一次循环结束:c='B' ;k=2;
第二次循环结束:c='C' ;k=2;
第三次循环结束:c='D' ;k=5;
第四次循环结束:c='E' ;k=2;
第五次循环结束:c='F' ;k=21;
第六次循环结束:c='G' ;k=8;本回答被提问者和网友采纳

...#include<stdio.h> void main() { int k=0; char c='A'; do {...
跳出switch时,k=1,c=B k自增后:k=2 第2次循环:进入switch时,c=B 跳出switch时,k=3,c=C k自增后:k=4 第3次循环:进入switch时,c=C 跳出switch时,k=6,c=D k自增后:k=7 第4次循环:进入switch时,c=D 跳出switch时,k=1,c=E k自增后:k=2 第5次循环:进入switc...

int k=0; char c='A'; do { switch(c++) { case 'A':k++;break; case...
第一次循环:因为c='A‘,switch(c++),c++为'A',c为’B',执行case 'A':k++;break后k为1,k++后k为2.第二次循环:因为c='B‘,switch(c++),c++为'B',c为’C',执行case 'B':k--后,k为1,没有遇到break,继续执行case 'C':k+=2;break;k=k+2,复制之后,k为3,k++后,k...

#include<stdio.h> void main() { int k=0; char c='A';do { switch...
K=6

#include<stdio.h> int main() {char c='A'; int k=0; do {switch(c++...
include<stdio.h> int main() { char c='A'; int k=0; do { switch(c++) { case 'A': k++;\/\/ break; case 'B': k--; case 'C': k+=2; break; case 'D': k%=2; continue; ...

#include<stdio.h> void main() { int k=0; char
k=7

下面程序的运行结果是什么?为什么?
改下程序 #include <stdio.h> int main(){ int k=0;char c='A';do { switch(c++){ case 'A': k++; printf("k={%d}\\n", k); break;case 'B': k--; printf("k=[%d]\\n", k);case 'C': k+=2; printf("k={%d}\\n", k); break;case 'D': k=k%2; ...

C语言#include<stdio.h> void main(void) { int c; while((c=getch
读取2,'2'-'2'=0,找到case 0,空语句,继续找到case 1,c+4='6',输出6,没有中断,继续找到case 2,输出6,中断。读取3,'3'-'2'=1,找到case 1,c+4='7',输出7,没有中断,继续找到case 2,输出7,中断。读取4,'4'-'2'=2,找到case 2,c+4=8,输出8,中断。因此输出...

#include<stdio.h> #include<time.h> #include<string.h> #includ...
我稍作修改,VC6下测试无问题,代码如下:include<stdio.h> include<time.h> include<string.h> include<stdlib.h> int main(){ int ch;char ad[6];char tb[7];char adr[6]="admin";char tbr[7]="TurboC";printf("1---GUEST\\n2---ADMIN\\n");scanf("%d",&ch);getchar();switc...

#include<stdio.h> void main() { int v1=0,v2=0; char ch; while...
因为case语句没有break,所以每一个字符传过来,v1++和v2++都要执行一遍,共执行5次。

C语言 不会读程序 #include<stdio.h> void main( ) {
char 是定义的字符型 对照书后面的 码值换成0到255的数在判断就好

相似回答