#include<stdio.h>
int main() {char a[]="I am a boy", b[20], *p1, *p2; p1=a; p2=b; for(;*p1!='\0';p1++,p2++) p2=p1; *p2='\0'; printf("string a is:%s\n",a); printf("string b is:%s\n",b); return 0;
}
#include<stdio.h>
int main() {char a[]="I am a boy", b[20], *p1, *p2; p1=a; p2=b; for(;*p1!='\0';p1++,p2++) p2=p1; *p2='\0'; printf("string a is:%s\n",a); printf("string b is:%s\n",b); return 0;
}
我大概明白楼主的意图了
这里的a b 分别被分配了一定大小的内存,其中a 里面有东西(楼主自己预定的内容I am a boy) b 里面的东西是随机的(因为楼主没有初始化这块内存)
又定义了2个指针 分别指向这2个内存区域
但是要明白一个道理 指针这东西都是虚的 无论如何改变其值 他也不能改变物理内存中的内容
你想要b里面也存储I am a boy这些字符需要实打实的copy操作