永发信息网

关于C语言的两道题?请知道的亲给我说一下这两道题的答案,顺便给我讲讲为什么?1、又以下程序#incl

答案:2  悬赏:20  手机版
解决时间 2021-03-02 09:01
  • 提问者网友:愿为果
  • 2021-03-02 03:27
关于C语言的两道题?请知道的亲给我说一下这两道题的答案,顺便给我讲讲为什么?1、又以下程序#incl
最佳答案
  • 五星知识达人网友:不如潦草
  • 2021-03-02 04:02
答案已运行验证第一题为D,其中printf(a=%d,b=%d\n,a,b)句末少分号;第二题为2345,其中程序中default;应该改成default:以上都是语法错误,所以我自行地改了.以下是具体分析:第一题switch(x){case 1:// 这里是满足条件的,即x=1所以进入执行switch(y){ // 这里是判断y的值case 0:a++;break; //这里满足,即y=0,所以执行a=a+1,即a=1.并且跳出case 1:b++;break; //因为跳出了,所以这里不执行}//刚才的break只能跳出一个大括号,到这里,继续执行.因为对于switch这种语句,只要前面有个case满足了要求,后面的case里的语句都要执行,直到遇见break,跳出case 2:a++;b++;break; //所以这里执行后,a=a+1,b=b+1,即a=2,b=1,然后又见break,跳出case 3:a++;b++;//已跳出}最后printf输出 a=2,b=1第二题首先你应该明白do while语句的特点是先执行再判断条件,即若条件满足,则返回到do的起始位置,若不满足.则跳出循环do{switch(k){ case 1:case 3:n+=1;break; //需要说明的是,这里连续两个case的意思是,或.即只要k=1或3就满足条件.default:n=0;k--;//default的意思是前面的case都不对,那就进入执行,这里执行完后,n=0,k-1=4case 2:case 4:n+=2;k--;break;//满足条件,因为k=4,所以执行.n+2=2,k-1=3并跳出}printf(%d,n);输出n,即2}while(k>0&&n0&&n0&&n0&&n
全部回答
  • 1楼网友:上分大魔王
  • 2021-03-02 05:25
回答的不错
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯