#include<stdio.h>
#include<string.h>
int main(){
char *str[4]={"welcome","come","to","jiaozuo"};
printf("%s\n",*(str+1));
char **p = str+1;
printf("%s\n",*p);
// str[0] = (*p+1)+2;//p并没有向后移动,仍指向"come"
// printf("%s\n",*p);//输出 e
str[0] = (*p++)+2;//p先取值,再向后移动1,指向"to"
printf("%s\n",*p);//输出 me
// printf("%s\n",str[0]);
// str[1] = *(p+1)+2;
str[1] = *(p+1)+2;//p先向后移动1,再+2;
printf("%s\n",str[1]);
str[2] = p[1]+2;
return 0;
}
辨别:
1>(*p+1)与*(p+1)
前者p的位置不变,后者p的位置向后移动
2>(*p++)+2与*(p+1)+2
前者p+2后,再移动;后者先移动,后+2