锋531 2022-10-27 12:44 采纳率: 89.5%
浏览 22
已结题

入门新生求会c++的解答下!

img

img


为什么会输出这个结果呀,懂的老手些说下呗,教下我这个新生呀
原理是什么,求解!

  • 写回答

2条回答 默认 最新

  • codeaftercode 2022-10-27 13:23
    关注

    switch(x>0) x>0为true,所以表达式x>0的值为1,走case 1分支
    switch(y<0) y<0为false,所以表达式y<0的值为0,应走case 0分支,
    但是没有case 0,所以switch(y<0)这一整段都没有输出
    因为最外层的switch的case 1分支里面没有break,所以会继续执行case 0里面的内容
    switch (z==3) z==3为true,所以表达式z==3的值为1,走case1分支,输出#。输出语句后面有break,所以不会继续执行case2而是跳出这个switch
    然后执行最外层switch的default分支,输出&
    所以加在一起就是输出一个#,又输出一个&
    ————————————
    总结:
    一.true相当于1,false相当于0
    二.switch(表达式),在这里要把表达式的值计算出来,根据这个值来看走哪个case
    三.switch语句块中的case分支里面,如果遇到break则跳出switch语句块,否则将继续向下执行,即使下面是其他case分支也会继续执行

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月5日
  • 已采纳回答 10月28日
  • 创建了问题 10月27日

悬赏问题

  • ¥15 为什么我按照电路图做出的仿真和实物都不能使用
  • ¥15 mars2d在vue3中的引入问题
  • ¥50 h5唤醒支付宝并跳转至向小荷包转账界面
  • ¥15 算法题:数的划分,用记忆化DFS做WA求调
  • ¥15 chatglm-6b应用到django项目中,模型加载失败
  • ¥15 CreateBitmapFromWicBitmap内存释放问题。
  • ¥30 win c++ socket
  • ¥15 C# datagridview 栏位进度
  • ¥15 vue3页面el-table页面数据过多
  • ¥100 vue3中融入gRPC-web