有没有会C语言的友友能解答一下14题呀

img


这个为什么要选择B呀,是因为x++需要先赋值在自增,赋值后是错误的执行else后面的语句,但是自增后为101再自减得100吗?不知道这样想对不对

选B
x++ > 100是先判断 x>100,然后 x加1,你输入x=100,所以x++>100不成立,会执行else部分,且++后 x=101
然后--x是先x减去1,然后再输出x的值,因此最终输出的是100

if(x++>100) 的时候 不满足 此时x++之后x为101 ,然后执行下边else --x就是100 ,所以说跟你的想法一致吧

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7790692
  • 除此之外, 这篇博客: 数据结构C语言严蔚敏版(第二版)超详细笔记附带课后习题中的 7.3.4、B+树 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 图解B+树

  • 以下回答由chatgpt基于相关博客总结生成:

    我的回答:

    该问题的答案是正确的。选择B选项是因为后缀++是先将原变量x的值赋给表达式,然后进行自增操作,所以x++(等同于x=x+1)执行之后,x的值变为101。接着,再执行前缀--操作(即将原变量的值减1),所以此时x的值变为100,最后输出的结果也是100。如果是后缀--,则先执行减1操作,再执行赋值操作。

    如果要将问题更具体地展示为代码,可以写成:

    int x = 100; printf("%d", x++); // 输出100,此时x的值变为101 printf("%d", --x); // 输出100,此时x的值变为100

    如果还有其他问题,请随时提出。

首先x++这个表达式的值是100,但是此时x=101,不满足,走else,先--,所以还是100