问题详情

有以下程序:#includemain(){ char *s=120119110; int n0,n1,n2,nn,i; n0=n1=n2=nn=i=0; do {  switch(s[i++])  {   default:nn++;   case '0':n0++;   case '1':n1++;   case '2':n2++;  } }while(s[i]); printf(n0=%d,n1=%d,n2=%d,nn=%d,n0,n1,n2,nn);}程序的运行结果是(  )。


A、n0=3,n1=8,n2=9,nn=1

B、n0=2,n1=5,n2=1,nn=1

C、n0=2,n1=7,n2=10,nn=1

D、n0=4,n1=8,n2=9,nn=1

时间:2022-05-11 16:45 关键词: 全国计算机等级考试二级 C语言程序设计

答案解析

A
本题执行过程为:s[0]='1',匹配case'1',n1=1,n2=1;s[1]='2',匹配case'2',n2=2;s[2]='0',匹配case'0',n0=1,n1=2,n2=3;s[3]='1',匹配case'1',n1=3,n2=4;s[4]='1',匹配case'1',n1=4,n2=5;s[5]='9',匹配default,nn=1,n0=2,n1=5,n2=6;s[6]='1',匹配case'1',n1=6,n2=7;s[7]='1',匹配case'1',n1=7,n2=8;s[8]='0',匹配ease'0',n0=3,n1=8,n2=9;s[9]='\0',退出循环。输出n0,n1,n2,nn为3,8,9,1,答案选择A选项。