本人学了几遍指针,还是有好多不懂,求解答详细:“string”中哪一个是地址,还是它们整体就是一个地址。如果是‘s’是地址为什么输出了“tring”而不是“ttring”;如果它们整体才是一个地址那为什么“string”+1后输出了“tring”而不是“string”地址+1后的东西啊?😱求帮助,求解答详细。
"string“是字符串,在printf参数中,默认是const char *类型,
printf("%s","string")等价于:
char *p = "string";
printf("%s",p);
所以,"string"+1相当于 p+1
p是字符串”string"的首地址,p+1是往后移动一个字节,所以printf("%s","string"+1)就等价于 printf("%s",p+1);输出的是 "tring"