Sy_Faker 2019-11-02 13:15 采纳率: 25%
浏览 246
已采纳

关于学习c过程中遇到的问题

大一新生,远在他校的朋友问我的问题,我也不是很懂QAQ

在这里插入图片描述

希望4个选项都解说一下

在这里插入图片描述

如果这个a+=a-=a+a正确的话第一题的A选项为什么错误呢?为什么结果又是-18呢?

在这里插入图片描述

不明白(,)中,的含义,返回值似乎都是,右边的值
在这里插入图片描述

个人觉得我不明白是基础概念不好,有劳各位解答了~
我如果有哪里做的不好或需要改进的地方还请指出
初学者入门谅解一下哈~

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-11-02 13:59
    关注

    (1) 记住,=是赋值,因此只有变量可以放在左边,表示接收这个变量,比如
    a = 2
    别的东西不能
    a + 1 = 2
    1 = a
    这些都不行
    类似的
    i++,也就是i = i + 1,可以
    ++i++,也就是++i = ++i + 1,所以不可以。
    'A'++相当于 26++,相当于26 = 26 + 1,所以也不可以
    所以选A

    (2)
    a += a -= a + a;
    相当于
    a += (a -= (a + a));
    也就是
    a = a + (a -= (a + a));
    也就是
    a = a + (a = a - (a + a))
    也就是
    a = a - (a + a); //这一行结束a = -9
    a = a + a; //这一行结束 a = -18
    所以是-18
    (3) 输出3,3,因为逗号表达式++x,y++的值取最后一个表达式。
    (4) -7,也就是 249-256=-7

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置