回答
3["XoePhoenix"]
相同"XoePhoenix"[3]
,所以它会评估为char 'P'
。
在C中的数组语法不大于写入*(x + y)
,其中x
和y
之前和括号内是子表达式的不同的方式更。由于添加的交换性,这些子表达式可以在不改变表达式的含义的情况下进行交换。
所以3["XeoPhoenix"]
是哪里串衰减到指针和3
添加到该指针编译为*(3 + "XeoPhoenix")
这在一个指向字符串中的字符第四转的结果。 *
取消引用此指针,因此此表达式的计算结果为'P'
。
"XeoPhoenix"[ 3 ]
将被编译为*("XeoPhoenix" + 3)
并且您可以看到会导致相同的结果。
很好解释。谢谢 – Michael 2011-06-03 15:59:52
3["XeoPhoenix"]
相当于"XeoPhoenix"[3]
并且将评估为第4个字符,即'P'
。
通常a[i]
和i[a]
是等同的。
a[i] = *(a + i) = *(i + a) = i[a]
奇怪的功能,它使它在列表顶部:http://stackoverflow.com/questions/1995113/strangest-language-feature/1995156 #1995156 – codaddict 2011-06-03 15:47:46
在C中,数组是具有连续内存块的非常简单的数据结构。因此它们需要是整数,因为这些索引不过是内存中地址的偏移量。
- 1. 作为字符的索引字符串
- 2. perl - 搜索大/排序/数组作为字符串的索引
- 3. 使用字符串作为JAVA中多维数组的索引
- 4. PHP - 传递字符串作为对象数组的索引
- 5. 作为字符串的R行索引?
- 6. 的Javascript字符串数组索引
- 7. 使用字符串作为数组索引PHP
- 8. VB:ArrayList以字符串作为索引(键)
- 9. PHP数组字符串键索引
- 10. 数组字符串多维索引
- 11. 字符串数组索引错误
- 12. 语法字符串VS数组索引
- 13. 子字符串数组索引问题
- 14. 字符串作为数组
- 15. PHP数组:整数索引VS字符串索引
- 16. 使用字符串作为数组名称和索引获取数组值
- 17. 如何索引二维数组与字符串的索引
- 18. 字符串数组索引值::字符串问题
- 19. Pythonic方式将字符串列表转换为一个字典,奇数索引字符串作为键,甚至索引的字符串作为值?
- 20. 如何使用字符串作为数组索引路径来检索值?
- 21. PHP - 拆分HTML的字符串属性为索引数组
- 22. 如何将字符串拆分为索引中的数组?
- 23. 查找字符串的索引,元组
- 24. 指定阵列与文字字符串索引数组与数字索引
- 25. 在字符串中搜索字符串并制作数组
- 26. 检索数组中包含的子字符串的索引
- 27. 为什么字符串数组并没有作为第一个字符串索引
- 28. 获取基于变量和索引的数组值作为字符串
- 29. 引用字符串数组
- 30. 双引号字符串转换为字符串数组在vb.net
另请参阅:http://stackoverflow.com/questions/381542 – x4u 2011-06-04 09:08:59