输入两个字符串分别存入字符数组中,再将第二个字符串连接到第一个字符串之后并输出,不能调用strcat函数,不能用指针内容
这个简单,直接“作弊”
用一个for循环把两个字符串存入一个字符数组里面😂
好吧,不皮了
如果题目要求的是不能创建新数组,那就把第一个数组定的大一点,直接用for把第二个字符串的值从第一个数组\0的位置开始填入,最后打印
代码如下
#include <stdio.h>
int main()
{
char arr1[100];
char arr2[20];
gets(arr1);
gets(arr2);
int sz1 = strlen(arr1);
int sz2 = strlen(arr2);
//printf("%d %d", sz1, sz2);
int j = 0;
for (int i = sz1; i < sz1+sz2; i++)
{
arr1[i] = arr2[j++];
if (arr2[j] == '\0')
{
arr1[i + 1] = '\0';
break;
}
}
printf("%s", arr1);
return 0;
}
如果对你有帮助,还请点个采纳,万分感谢!
供参考:
#include <stdio.h>
int main()
{
char str1[128]={0},str2[32]={0};
int i=0,j=0;
gets(str1);
gets(str2);
while(str1[i]) i++;
while(str2[j])
str1[i++]=str2[j++];
str1[i]='\0';
puts(str1);
return 0;
}