可能的重复:
在 C 数组中为什么会这样? a[5] == 5[a]
这怎么可能是有效的 C++?
void main()
{
int x = 1["WTF?"];
}
在 VC++10 上编译并在调试模式下的值x
语句后为 84。
这是怎么回事?
数组下标运算符是可交换的。它相当于int x = "WTF?"[1];
Here, "WTF?"
是一个 5 的数组char
s(它包括空终止符),以及[1]
给我们第二个字符,即'T'
- 隐式转换为int
它给出的值为 84。
题外话:代码片段实际上不是有效的 C++ -main
必须返回int
.
您可以在这里阅读更深入的讨论:在 C 数组中为什么会这样? a[5] == 5[a]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)