《C程序设计》(夏宝岚)
6.9 编写程序,实现将两个字符串连接起来(不允许用strcat函数)。
思路:定义三个数组a[], b[], c[],a.b用于存放将要连接的两个字符串,c用于保存a,b连接后的串。主要就是通过对字符串结束标志'\0'的判断分别将两串合并。第一次循环用控制变量i将串a复制到c中,第二次循环由于b串要从0开始,所以引入另一控制变量j由0开始,继续写入c时控制量i要延续第一次循环的值,最后将串c结束标志'\0'写入即可。如下:
#include <stdio.h>
void main ()
{
int i = 0;
int j = 0;
char a[50];
char b[50];
char c[50];
printf("First string: ");
gets(a);
printf("Second string: ");
gets(b);
while(a[i] != '\0') /* 将a串中内容copy到c中 */
{
c[i] = a[i];
i++;
}
while(b[j] != '\0') /* 将b串中内容继续copy到c中 */
{
c[i] = b[j];
i++;
j++;
}
c[i] = '\0'; /* 置串结束标志 */
printf("Connection : %s\n", c);
}
运行结果(VC):
===============================================
First string: abcdefg↙
Second string: hijklmn↙
Connection : abcdefghijklmn
===============================================
评论