str1[]="zbcdef",str2[]="asdc",实现str1[]="zbcdefasdc"
不能用strcmp!
本来也不该用strcmp,而是用strcat/strcpy
你可以自己实现(但是要保证str1足够大)
char *p = str1[0];
while (*p != '\0') p++;
char *p1 = str2[0];
while (*p1 != '\0')
{
*p = *p1;
p++;
p1++;
}
*p = '\n';
void cprstr(char *pss,char*pds){
while( (*pds++=*pss++) != '\0' );
}
你的问题:
用指针将两个字符串数组合并成一个并输出
str1[]="zbcdef",str2[]="asdc",实现str1[]="zbcdefasdc"
不能用strcmp!
我的回答:首先你的问题不可能实现,因为str1是个静态数组,它的容量只有7个字节是在编译时确定的。所以说你的想法不可能实现。 那么将提问方
式改一下:实现屏幕打印zbcdefasdc。
#include
#include
int main()
{
char str1[] = "zbcdef", str2[] = "asdc";
char str3[sizeof(str1)+size(str2)-1] = "";
char *p = str1;
int i=0;
while(*p != '\0')
{
str3[i] = *p;
p++;
i++;
}
p = str2;
while(*p != '\0')
{
str3[i] = *p;
p++;
i++;
}
puts(str3);
return 0;
}