我想知道为什么这段代码会运行。
代码:
#include <stdio.h>
int main(int argc, char* argv[])
{
char* c = "1234567";
printf("%c\n", 5[c]);
return 0;
}
结果:
6
最佳答案
如果您对 a[b]
语法感到困惑,那么只需刷新您的 C 知识即可。
a[b]
定义为 *(a + b)
并且由于 a+b
与 b 相同+a
,a[b]
和 b[a]
也是如此。
关于C 中的 Char 指针奇怪的表达,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16075260/