例10.19.txt

来自「C语言课件,清华大学出版的书的配套的.很好用,尽管下载.」· 文本 代码 · 共 17 行

TXT
17
字号
例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同步移动。

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?