爱睡懒觉的猫猫 2022-01-13 20:37 采纳率: 85.7%
浏览 39
已结题

一道C语言的选择题,题应该不难


int a=1,b=2,c=3,d=4,m=2,n=2;
(m=a>b)&&(n=c>d)

题目是执行下面的那个表达式,问最后n的值,答案为2。但是它下面不是应该先比较再赋值吗,怎么n的值不变呀?

  • 写回答

3条回答 默认 最新

  • Code_流苏 C/C++领域优质创作者 2022-01-13 21:40
    关注

    int a=1,b=2,c=3,d=4,m=2,n=2;
    (m=a>b)&&(n=c>d)
    n最后的值为2
    先计算a>b,不成立,值为0,将0赋值给m,m=0,表达式m=a>b的值也是0。
    对于&&逻辑运算,不管后面(n=c>d)的值如何,都不影响(m=a>b)&&(n=c>d)的最终结果,所以就是说,C语言不再对表达式n=c>d进行计算,n的值没有改变,n还是2。
    希望对题主有所帮助,望采纳!!

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

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 1月16日
  • 已采纳回答 1月15日
  • 创建了问题 1月13日

悬赏问题

  • ¥30 自适应 LMS 算法实现 FIR 最佳维纳滤波器matlab方案
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行
  • ¥15 Python3.5 相关代码写作
  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像