相关代码 |
|
例10.19用指针变量来处理例10.18问题。 main() {char a[]="I am a Boy.",B[20],*p1,*p2; int i; p1=a;p2=B; for(;*p1!=′\0′;p1++,p2++) *p2=*p1; *p2=′\0′; printf("string a iS:%S\n",a); printf("string B iS:"); for(i=0;B[i]!=′\0′;i++) printf("%C",B[i]); printf("\n"); } p1、p2是指针变量,它指向字符型数据。先使p1和p2的值分别为字符串a和B的首地址。*p1最初的值为‘I’,赋值语句“*p2=*p1;”的作用是将字符‘I’(a串中第1个字符)赋给p2所指向的元素,即B[1]。然后p1和p2分别加1,指向其下面的一个元素,直到*p1的值为‘\0’止。注意p1和p2的值是不断在改变的,见图10.34的虚线和p1′、p2′。程序必须保证使p1和p2同步移动。
相关资源 |
|