void main() { char *p1, *p2; p1 = (char *)malloc(sizeof(char)* 20); printf("%x\n", p1); // p1的地址赋值给p2; 这里的意思是他们两个公用内存吗?? //如果先给p1赋值的话然后在给p2赋值,同一个地址只能保留 //一个值后进来的一个值将前面的覆盖?? p2 = p1; //这里都是p1的地址啊?? // printf("%x,%x\n", p1, p2); //abc def //scanf("%s%s", p1, p2); ////def def //printf("%x,%x\n", p1, p2); //abc def scanf("%s%s", p2, p1); //def def printf("%s,%s\n", p1, p2); system("pause");}
原文:http://blog.csdn.net/han1558249222/article/details/23785235