# include # include # include int main (void) { char *p1,*p2; p1=p2=( char *) malloc ( sizeof ( char )*10); strcpy(p1,"malloc "); strcpy (p2,p1+1); printf ("%c\n%c\n ",p1[0],p2[0]); } 为什么p1+1 p1地址和p2一样了
# include # include # include int main (void) { char *p1,*p2; p1=p2=( char *) malloc ( sizeof ( char )*10); strcpy(p1,"malloc "); strcpy (p2,p1+1); printf ("%c\n%c\n ",p1[0],p2[0]); } 为什么p1+1 p1地址和p2一样了
收起
p1和p2的地址从一开始就是一样的啊,你有什么问题呢?strcpy只是修改地址存储的内容而已啊
如无疑问,请采纳,谢谢
但是如果我改成 p2=p1+1就不一样了啊
报告相同问题?