【问题标题】:unexpected result from printf character print [duplicate]printf字符打印的意外结果[重复]
【发布时间】:2014-04-04 18:16:16
【问题描述】:
#include<stdio.h>
main()
{
  printf("%c\n",1-3+2["nexus"]);
}

结果是 v。结果如何?
缩进(方形)有什么作用?

【问题讨论】:

  • 您期待什么?还请减少您的示例,因为您可能不需要 1-3+ 部分来影响期望。
  • @Cœur,只是为了让你知道,我没有回答你的最后一个问题。我只是标记了它。 (我不dv,我只是尝试和帮助)
  • @DavidC.Rankin 感谢您的帮助。但是,在我花费大量时间搜索“方括号语法”和“方括号表示法”之后,我得到的反对票让我感到难过。
  • 是的,只要把它们抖掉,它们就会在洗涤中出来。它曾经让我感到很不舒服按钮。只要确保你树立了一个更好的榜样。这就是我们所能做的。 (事情变得更好了——现在投票者要付出 1 分的代价来投票,所以他们不像过去那样任性)

标签: c printf character


【解决方案1】:

2["nexus"] 可能将我们引向 3 个元素,将其视为 字符数组[arr[2]=x 在我们的例子中]

以下是 1-3viz -2 添加到 x 字符,即添加到 ascii 值 而对应的元素是v

无法准确弄清楚方形标识的真正含义,但根据输出,这是可能的方式。

【讨论】:

    【解决方案2】:

    2["nexus"] 与 "nexus"[2] 相同,对应该字符串的第二个索引或第三个元素。 (这里是“x”)。

    在等式中,1-3+ 2["nexux"] 就像代表 'v' 的 1-3+'x'。

    注意

    当一个字符串被声明为“nexus”时。

    nexus[0] is 'n'
    nexus[1] is 'e'
    nexus[2] is 'x'
    nexus[3] is 'u'
    nexus[4] is 's'
    

    【讨论】:

      猜你喜欢
      • 2022-01-19
      • 2023-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-22
      • 2013-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多