不用字符串处理函数将字符串B接到字符串A后面

来源:百度知道 编辑:UC知道 时间:2024/06/04 15:15:15
原题是:不用字符串处理函数将两个字符连接,即将字符串b连接到字符串a的后面,变成字符串c。

后面跟着思考题:如果将字符串S2连接到字符串S1的后面,且不需要第三个字符串变量作中间过渡,如何实现?

星期四就要交作业,急召高手帮忙!!!!!!!!

思考题:s1定义空间足够大(能装下s1和s2),将s1中'\0'去掉,将s2接在s1中原字符串后面

原题程序,没编译,在线写的,可能有错,多多包涵

#include<stdio.h>
#define M 25
#define N 25
#define X 50
int main()
{
char a[M]="i love you!";
char b[N]="and you?";
char c[X];
char *p,*q;
q=c;//指向字符数组c
p=a;//指向字符数组a
while(*p!='\0')//字符串a没到末尾
*q++=*p++;//把字符串a放进字符数组c中
p=b;//指向字符数组b
while(*p!='\0')//字符串b没到末尾
*q++=*p++;//把字符串b放进字符数组c中a字符串后面
*q='\0';//在a,b字符串连接后c字符串末尾加上'\0',表示字符串结束
printf("%s\n",c);
return 0;
}

#include<iostream>
using namespace std;
const int max=80;
void add(int s1[80],int s2[80])
{
int i,j;
int a1=sizeof(s1),a2=sizeof(s2);

for(j=0,i=a1;j<a2;j++,i++)
s1[i]=s2[j];
}
int main()
{
int s1[80]={1,2,3,4,5},s2[80]={6,7,8,9};
add(s1,s2