求求高手指教,c语言中,用指针怎样将2个数组联接起来呢?
2个回答
展开全部
是不是这个意思啊,两个数组当成一个数组使用吗?前半部分是A数组,后半部分是B数组
char A[N],B[M];
//point是当前需要操作的第几个字符啊,如果point小于N则操作A字符串数组,如果大于N小于M+N,则操作B数组,如果大于M+N则出错,
char Function(int point,char* pdata)
{
char *p;
if(point>(M+N))
{
return FAIL;
}
if(point>M)
{
*pdata=B[point-N];
return SUCCESS;
}
*pdata=A[point];
return SUCCESS;
}
char A[N],B[M];
//point是当前需要操作的第几个字符啊,如果point小于N则操作A字符串数组,如果大于N小于M+N,则操作B数组,如果大于M+N则出错,
char Function(int point,char* pdata)
{
char *p;
if(point>(M+N))
{
return FAIL;
}
if(point>M)
{
*pdata=B[point-N];
return SUCCESS;
}
*pdata=A[point];
return SUCCESS;
}
更多追问追答
追问
我写的:#include
void main()
{
int i=0;
char str1[100],str2[100];
char *p=str1,*q=str2;
gets(str1);
gets(str2);
while(*p)
{
p++;
i++;
}
while(*q)
{
*p==*q;
p++;
q++;
}
printf("结果为%c\n",*p);
}
目的是将str1和str2连起来,比如我输入str1:this,str2:is,结果要得到“this is” 还请您指教啊!
追答
#include
int strandstr(char *str1,char* str2,char* str)
{
memcpy(str,str1,sizeof(str1));
memcpy(str+sizeof(str1),str2,sizeof(str2));
*(str+sizeof(str1)+sizeof(str2))='\0';
return 0;
}
我不确定 memcpy是不是会把'/0'拷贝过去啊,你单步调试下啊,我这个程序是按照 不能拷贝做的啊
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询