假设我现在有两个个字符串"abcdefg","optingf",要求我们将两个字符串拼接起来,拼接起来后并用空格隔开;
思路:我们要先把字符串拼接好,定义两个指针分别指向两个字符串,然后用一个char型的一维数组来存储这些字符,并我们在通过指针偏移来赋值的时候,让数组的下标往下走一位并赋值空格,空格也是字符
算法和代码如下:
#include <stdio.h>
#include <string.h>
// 拼接字符串
//使用指针来拼接字符串,并将拼接好的字符串每个字符用空格隔开
int main()
{
char *s = "abcdefg";
char *n = "optingf";
int str1 = strlen(s), str2 = strlen(n);
char a[50];
for (int i = 0, ii = 0, iii = 0; i < 50; i++)
{
if (ii < str1)
{
a[i] = s[ii];
a[++i] = ' ';
ii++;
}
else
{
a[i] = n[iii];
a[++i] = ' ';
iii++;
if(iii == str2)
{
break;
}
}
}
printf("%s\n",a);
return 0;
}