m0_70961511 2022-08-13 15:34 采纳率: 83.3%
浏览 41
已结题

一道非专业C语言程序题

img


请问输入2之后,是先累加,还是后累加呢,其实执行完case2的一个结果,然后再执行case3得出另一个结果吗

  • 写回答

5条回答 默认 最新

  • qzjhjxj 2022-08-13 16:11
    关注

    假如输入 m = 2,执行顺序如下:
    switch(m++%4) 这句分解为: switch(m % 4) , m++; 2 % 4 = 2, m++ ==> m = 3;
    case 2: 满足条件,所以执行 printf("%5d",m*m); 此时 m = 3, 所以 m*m = 9; 因为这句后面没有 break;语句,所以往下顺序执行 case 3:。
    case 3: printf("%5d",m*m*m); 此时 m 仍为 3,所以 3 * 3 * 3 = 27 输出。
    最终输出: 9 27

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

报告相同问题?

问题事件

  • 系统已结题 10月20日
  • 已采纳回答 10月12日
  • 创建了问题 8月13日

悬赏问题

  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果