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