永发信息网

求分析一道简单的C++代码运行结果

答案:1  悬赏:20  手机版
解决时间 2021-05-08 01:15
  • 提问者网友:呐年旧曙光
  • 2021-05-07 07:37
#include <iostream>
using namespace std;
int main()
{
int x=0,y=2,z=3;
switch (x)
{
  case 0: switch (y)
     {
   case 1: cout <<'*'; break;
            case 2: cout <<'%'; break;
      }
  case 1:switch (z)
      {
    case 1: cout <<'$'; break;
                case 2: cout <<'*'; break;
    default: cout <<'#';
      }
}
      return 0;
}

运行结果是“%#”,不理解,个人认为是“#”,因为一开始已定义x=0。求分析,谢谢。
最佳答案
  • 五星知识达人网友:纵马山川剑自提
  • 2021-05-07 08:20

先是x=0,进入case语句,执行case 0: switch (y),输出%,因为此时还没有退出第一个switch语句,所以接着执行case 1:switch (z),因为z=3,输出#,此时switch(x)执行完毕,结束,return。所以输出%#

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯