【问题标题】:C conditional incrementC 条件增量
【发布时间】:2015-03-15 14:12:22
【问题描述】:

考虑以下代码: 整数 a=0 , b=1 如果 (a == --b) 打印f b

b 现在是 0 还是 1? 换句话说,增量是临时的还是不是临时的?

谢谢!

【问题讨论】:

  • 让你的程序语法正确,然后试试看。 (IfPrintf b?真的吗?)

标签: c conditional-statements increment temporary


【解决方案1】:

这是一个递减,是的,它会修改b

【讨论】:

  • 1.这不回答问题!问题是:现在 b 是 0 还是 1 2。它还取决于它是前缀还是后缀! 3. 不费吹灰之力回答问题就是支持这种行为
  • @Rizier123;它回答了这个问题。
  • 怎么样? b 现在是 0 还是 1?
  • @Rizier123; 它将修改b:这是什么意思?
  • 换句话说——增量是不是临时的? 好像OP不知道它是减量,那么他怎么知道它是做什么的?而 modify 可能意味着任何东西!并且仍然要注意我第一条评论的第 2 点和第 3 点
【解决方案2】:

一开始b被赋值为1。当你使用--b(pre decrement)时,它首先将b的值减为0,然后计算条件,这是真的。

【讨论】:

    【解决方案3】:

    是的,b=0 现在。并且在您定义b 的函数范围内,递减是永久性的。

    【讨论】:

    • 谢谢!我怎样才能绕过它而不修改 b (不使用另一个 var)?
    • 只写if(a==b-1)而不是if(a==--b)
    猜你喜欢
    • 2012-04-24
    • 2019-04-12
    • 1970-01-01
    • 1970-01-01
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    • 2021-01-23
    • 2020-07-30
    相关资源
    最近更新 更多