早教吧 育儿知识 作业答案 考试题库 百科 知识分享

7.运行下面程序段,若输入abc#,则程序输出是:.charc;intv1=0,v2=0;while((c=getchar())!='#'){switch(c){case'a':v1++;default:v1++;v2++;case'c':v2++;}}printf("v1=%d,v2=%d\n",v1,v2);A)2,2B)3,5C)3,4D)2,5为什么

题目详情
7.运行下面程序段,若输入abc#,则程序输出是:________.
char c;int v1=0,v2=0;
while((c=getchar())!='#')
{ switch(c)
{ case 'a':v1++;
default :v1++;v2++;
case 'c':v2++; }}
printf("v1=%d,v2=%d\n",v1,v2);
A)2,2 B)3,5 C) 3,4 D)2,5
为什么
▼优质解答
答案和解析
输出是v1=3,v2=5
因为switch中的case如果没有遇到break就会连续往下执行,直到break或者switch完
本题中'a'进入case 'a'后往下执行,'b'进入default后往下执行,'c'进入case 'c'往下执行