自己在学习敲程序以后,不是很会敲该程序,希望有人可以帮我解答一问,让我核对一下我哪错了。
c语言 参考如下:
#include<stdio.h>
char * mystrcat(char *c, char *d)
{
char* start = c;
while(*start)
{
start++;
}
while (*start=*d)
{
start++;
d++;
}
return c;
}
void main()
{
char *p,a[100],b[100];
gets(a);
gets(b);
p=mystrcat(a,b);
printf("%s",p);
}
# include <stdio.h>
# include <string.h>
int main()
{
int i,j,len1,len2,b = 1;
char str1[100],str2[100],str3[200];
printf("\n*******************************************************************************************\n");//标题提示语
printf(" 将两个字符串连接起来,不要使用strcat函数 \n");
printf("*******************************************************************************************\n");
while (b==1) //进行循环输入分数
{
printf("请输入原字符串(长度小于100):\t"); //提示输入字符串
scanf("%s",str1);
printf("\n请输入要追加的字符串(长度小于100):\t");
scanf("%s",str2);
len1 = strlen(str1); //对输入的字符串进行读取有效位数
len2 = strlen(str2);
i = 0;
while(str1[i]!=0)
{
str3[i] = str1[i];
i++;
}
j = 0;
while (str2[j]!=0)
{
str3[i+j] = str2[j];
j++;
}
str3[i+j] = 0;
printf("\nstr1 = %s\tstr2 = %s\n",str1,str2);
printf("\n您输入的第一个数组的有效长度为\tlen1 = %d\n\n您输入的第一个数组的有效长度为\tlen2 = %d\n",len1+1,len2+1);
printf("\n追加后的数组三为:\t%s",str3);
printf("\n_________________________________________________________________________\n");
printf("\nBRAEK(0) or CONTINUE (1):\t"); //确认是否循环
scanf("%d",&b);
printf("\n_________________________________________________________________________\n");
}
return 0;
}
参考
#include <stdio.h>
int main() {
// 定义两个字符串数组
char str1[20], str2[20];
// 读入两个字符串
printf("请分别输入两个字符串:\n");
scanf("%s%s", str1, str2);
// 拼接两个字符串
int i = 0; // 用于记录第一个字符串的长度
while (str1[i] != '\0') {
i++;
}
for (int j = 0; str2[j] != '\0'; j++) {
str1[i] = str2[j];
i++;
}
str1[i] = '\0';
// 输出拼接结果
printf("两个字符串的拼接结果为:%s\n", str1);
return 0;
}