【发布时间】:2011-07-20 19:27:14
【问题描述】:
如果 a=3 和 b=5,这意味着什么?
printf(&a["Ya!Hello! how is this? %s\n"], &b["junk/super"]);
我知道arr[4] 表示*(arr+4),所以我需要知道"hi there" 这样的表达式意味着什么?
编辑 - 问题可能更清楚:
当一个字符串用作数组下标时,它传递什么值?
为什么上面的输出是Hello! how is this? super?
【问题讨论】:
-
您是在问如果使用 a[3] 和 b[2] 作为数组位置会得到什么?
-
我真的希望这只是一个“学术”代码 sn-p 而不是实际用于生产的东西。
-
我什至不知道你所说的“你好”是什么意思?
-
这意味着,立即逃离代码。如果这是来自教授,则意味着教授不知道何时将示例标记为不好。如果这是来自生产代码,则意味着您在错误的公司雇用。
-
有趣。似乎有人想索引一个常量字符串,并且不愿意将它分配给一个变量。以混淆任何后来者为代价......