use*_*846 1 c memory arrays string char
char i;
for(i=0;i<16;i++)
printf("%c","asdf"[i]);
i=1;
if("123"[i]==1)
i=1;
if("456"[4]==1)
i=1;
if("789"[1]==1)
i=1;
Run Code Online (Sandbox Code Playgroud)
输出是:
asdf 123 456
Run Code Online (Sandbox Code Playgroud)
看似大多数'字符串'在内存中直接相继.我不认为这是随机的,或者是它?而且,当我在char-access-expression中使用int变量而不是i时程序失败,而char-access-expression不是第一个(这里是asdf [i]).例如if("123"[j] == 1)
有人可以向我解释一下吗?