【发布时间】:2012-08-31 19:22:53
【问题描述】:
考虑:
void foo1(char **p) { *p++; }
void foo2(char **p) { *p += 1; }
和
char *s = "abcd";
char *a = s;
foo1(&a);
printf("%s", a); //abcd
但如果我使用foo2() 而不是:
char *a = s;
foo2(&a);
printf("%s", a); //bcd
谁能解释一下?
【问题讨论】:
-
因为
*p++和*(p++)一样 -
也可以试试
void foo3(char **p) { (*p)++; } -
享受你漂亮的问题徽章:-)
标签: c