#include <stdio.h>
int main (void)
{
char *str = "Hello"; //defining and initializing the str pointer, which is directing to 'H'.
printf("%s\n", str);
printf("%p\n", str);
return 0;
}
結果是:我真的很困惑與理解數組指針用C
Hello
0000000000404000
我的問題是從何而來0000000000404000?
輸出中沒有換行符?你應該做'printf(%p \ n「,(void *)str);''而不是'%p''期望一個'void'指針 – yano
這就是字符串碰巧到達地址空間的地方。 – user2357112
你有兩個'printf's,你期望第二個'printf'做什麼? – user3386109