首页 理论教育 例5.19、5.22C语言程序设计:字符串连接实例及结果

例5.19、5.22C语言程序设计:字符串连接实例及结果

时间:2023-10-29 理论教育 版权反馈
【摘要】:=′\0′)8n=n+1;9printf;10return 0;11}程序结果如图5.20所示:图5.20例5.19程序结果图编程实现两个字符串的连接。=′\0′)7i=i+1;8n=a[i]-b[i];9if(n>0)printf;10ifprintf;11if(n<0)printf;12return 0;13}程序结果如图5.23所示:图5.23例5.22程序结果图

例5.19、5.22C语言程序设计:字符串连接实例及结果

【例5.19】编程求一字符串的长度。要求:不使用库函数strlen()。

程序内容如下:

1 #include<stdio.h>

2 int main()

3 {

4  int n;

5  char ch[]="telephone number";

6  n=0;

7  while(ch[n]!=′\0′)

8   n=n+1;

9  printf("The length of the string is%d\n",n);

10  return 0;

11 }

程序结果如图5.20所示:

图5.20 例5.19程序结果图

【例5.20】编程实现两个字符串的连接。要求:不使用库函数strcat()。

程序内容如下:

1 #include<stdio.h>

2 int main()

3 {

4  char a[30]="shandong",b[]="jinan";

5  int i=0,j=0;

6  while(a[i])

7   i=i+1;

8  while(b[j])

9  {

10   a[i]=b[j];

11   i=i+1;

12   j=j+1;

13  }

14  a[i]=′\0′;

15  puts(a);

16  return 0;

17 }

也可以将程序简化成下列程序:

1 #include<stdio.h>

2 int main()

3 {

4  char a[30]="shandong",b[]="jinan";

5  int i=0,j=0;

6  while(a[++i]);

7   while(b[j])

8    a[i++]=b[j++];

9   a[i]=′\0′;

10  puts(a);

11  return 0;(www.xing528.com)

12 }

程序结果如图5.21所示:

图5.21 例5.20程序结果图

【例题中关键问题说明】

特别注意程序中循环的条件,“while(a[++i]);”相当于“while(a[++i]!=′\0′);”也相当于“while(a[++i]!=0);”,就是找到字符串结束的位置。后一个循环也是一样的。

【例5.21】编程实现将一个字符串复制到一个数组中。要求:不使用库函数strcpy()。

程序内容如下:

1 #include<stdio.h>

2 int main()

3 {

4  char a[]="shandong",b[]="jinan";

5  int i=0;

6  while(b[i])

7  {

8   a[i]=b[i];

9   i=i+1;

10  }

11  a[i]=′\0′;

12  puts(a);

13  return 0;

14 }

程序结果如图5.22所示:

图5.22 例5.21程序结果图

【例5.22】编程比较两个字符串的大小。要求:不使用库函数strcmp()。

程序内容如下:

1 #include<stdio.h>

2 int main()

3 {

4  char a[]="shandong",b[]="shanghai";

5  int i=0,n;

6  while(a[i]==b[i]&&a[i]!=′\0′&&b[i]!=′\0′)

7   i=i+1;

8   n=a[i]-b[i];

9  if(n>0)printf("%s>%s\n",a,b);

10  if(n==0)printf("%s=%s\n",a,b);

11  if(n<0)printf("%s<%s\n",a,b);

12  return 0;

13 }

程序结果如图5.23所示:

图5.23 例5.22程序结果图

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

我要反馈