首页 理论教育 C语言程序设计举例:本小节综合应用

C语言程序设计举例:本小节综合应用

时间:2023-10-29 理论教育 版权反馈
【摘要】:用指针变量处理字符串的复制。程序内容如下:1#include<stdio.h>2#include<string.h>3void main()4{5char s[]="I have 150 Yuan!!第7行通过循环使得指针变量p依次指向数组的每一个元素。第8、9、10行表示当指针变量p指向0字符时,指针变量p直接指向0字符的下一个元素。

C语言程序设计举例:本小节综合应用

【例7.20】指针变量的运算。

程序内容如下:

1 #include<stdio.h>

2 void main()

3 {

4  char*ps="I am a student";

5  ps=ps+7;

6  printf("%s\n",ps);

7 }

程序结果如图7.26所示:

图7.26 例7.20程序结果图

【例题中关键问题说明】

在程序对ps初始化时,即把字符串首地址赋予ps,当“ps=ps+7”之后,p指向字符“s”,因此输出为“student”。

【例7.21】用指针变量处理字符串的复制。

程序内容如下:

1 #include<stdio.h>

2 void main()

3 {

4  char a[10],b[10];

5  char*pa,*pb;

6  pa=a;

7  pb=b;

8  printf("请输入一个字符串:");

9  scanf("%s",pa);

10  printf("a:%s\n",a);

11  while((*pb=*pa)!=′\0′)

12  {

13   pa++;

14   pb++;

15  }

16  printf("b:%s\n",b);(www.xing528.com)

17 }

程序结果如图7.27所示:

图7.27 例7.21程序结果图

【例题中关键问题说明】

(1)程序中同时定义两个数组a、b和两个指针pa、pb,然后使两个指针pa和pb分别指向两个字符数组的首地址。

(2)利用循环依次将*pa复制到*pb,直到*pa的内容为′\0′(字符串结束符)为止。

【例7.22】在一行字符串中删去指定的字符。

程序内容如下:

1 #include<stdio.h>

2 #include<string.h>

3 void main()

4 {

5  char s[]="I have 150 Yuan!!",*p=s;

6  int i,j;

7  for(i=0;i<strlen(s);i++,p++)

8   if(*p==′0′)

9   for(j=i+1;j<strlen(s);p++,j++)

10    *p=*(p+1);

11  printf("%s\n",s);

12 }

程序结果如图7.28所示:

图7.28 例7.22程序结果图

【例题中关键问题说明】

(1)第5行定义了一个字符型数组和指针变量p,同时是指着变量p指向数组。

(2)第7行通过循环使得指针变量p依次指向数组的每一个元素。

(3)第8、9、10行表示当指针变量p指向0字符时,指针变量p直接指向0字符的下一个元素。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈