两个字符串,将字符串1拼接到字符串2的后面,要求不使用C语言字符串操作函数

2024-11-13 04:36:51
推荐回答(5个)
回答(1):

字符串1为A2,字符串2为B2,C3输入公式:=B2&A2。

#include

intmain()

{chara[100];

charb[100];

inti=0,j=0;

//输入第一个字符串

printf("pleaseinputthefirststring:");

do

{scanf("%c",&a[i]);

i++;

}

while(a[i-1]!='\n');

//输入第二个字符串

printf("pleaseinputthesecondstring:");

do

{scanf("%c",&b[j]);

j++;


扩展资料:

通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。

两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。串的两种最基本的存储方式是顺序存储方式和链接存储方式。

回答(2):

以你字符串1为A2,字符串2为B2,C3输入公式:=B2&A2,回车,下拉复制即可。
&是连接符,意思是第1单元格连接到第2单元格的后面。

回答(3):

额,不知道在搞什么,是c语言又不是c++,哪里来个string?还直接把字符串相加......从这点说c++还是方便点#includevoid f(char str1[],char str2[])
{
char *p1,*p2;
int length1 = 0,length2 = 0;
int i;
p1 = str1;
p2 = str2;
while(*p1)
{
p1++;
length1++;
}
while(*p2)
{
p2++;
length2++;
}
for(i = 0;i < length1;i++)
str2[length2+i] = str1[i];
str2[length1+length2] = '\0';
}int main()
{
char str1[100],str2[100];
printf("输入字符串str1:\n");
scanf("%s",str1);
printf("输入字符串str2:\n");
scanf("%s",str2);
f(str1,str2);
printf("拼接后的字符串%s:\n",str2);
return 0;
}

回答(4):

用C语言编程:将两个字符串连接起来,不要用strcat函数

#include

int main()
{
char a[10],b[10],c[20];
int i,j;
gets(a);
gets(b);
i=j=0;
while (a[i]!='\0')
{
c[i]=a[i];
i++;
}
while (b[j]!='\0')
{
c[i]=b[j];
i++;
j++;
}
c[i]='\0';
printf("a: %s,b: %s cat--%s\n",a,b,c);

return 0;
}

回答(5):

#include
#include char *s;char *mystrcat(char *s1,char *s2) {
int len = 0;
char *p = s1;
while(*p++) len++;
p = s2;
while(*p++) len++;
s = (char *)malloc(len + 1);
if(s == NULL) {
printf("堆空间申请失败!\n");
return NULL;
}
p = s;
while(*p++ = *s1++);
p--;
while(*p++ = *s2++);
p = '\0';
return s;
}void main() {
char *s1 = "Visual C++ 2010 完全手册 ";
char *s2 = "ISO/ANSI C++ Windows";
printf("%s\n",s1);
printf("%s\n",s2);
printf("%s\n\n",mystrcat(s1,s2));
free(s);
}