按照下面算法编一个程序,将两个字符串连接起来,不能使用strcat函数

1.定义整型变量i.j,字符串s1.s2
2.输入字符串s1.s2
3.当字符串s1尚未结束,改变字符串s1的下标,使之到s1结束处
4.当字符串s2尚未结束,将字符串s2逐个字符连接到字符串s1的后面
5.为字符串s1添加结束标志
6.输出连接后的字符串
用c++ 6.0

#include<stdio.h>
int main()
{
int i=0,j=0,index=0;
char str1[50]={0};//存放拼接字符串1
char str2[50]={0};//存放拼接字符串2
char str12[100]={0};//存放拼接完的字符串
printf("请输入拼接的第一个字符串:");
scanf("%s",&str1);
printf("\n请输入拼接的第二个字符串:");
scanf("%s",&str2);
while(str1[i]!='\0')//获取长度
{
i++;
}
while(str2[j]!='\0')
{
j++;
}
for(index=0;index<i-1;index++)//不放字符串结束符
str12[index]=str1[index];//把s1放入目标数组
for(index=0;index<j;index++)
str12[index+i]=str2[index];
printf("\n拼接后的字%s",str12);打印拼接后字符串
getchar();
getchar();
return 0;
}
如果用VC++6.0,不能使用字符指针,进行 本程序的编写,因为下标[]只用于数组,否则将出现非法访问的情况
故定义为字符数组进行操作

纯手打,非copy,人脑思考,望采纳追问

str[ ]是strcat函数吗 题目说不能使用

追答

不是,那是定义的字符串,你是学C的?C中的函数名都是唯一的,所以strcat就是strcat,不会是str[],而且函数名定义里不能有字母,数字,下划线以外的字符,而且必须长度在30个字符(视编译器而定)

温馨提示:内容为网友见解,仅供参考
无其他回答