a和b都是常量字符串,是不可以修改字符串内容的,再说明明是将q串附加到p串后,为啥最后你输出q串呢?
char a[100] = "ABCD",*b = "EFGH";
#include<stdio.h>
void Connect(char* str1, char* str2, char* p) {
while (*str1 != '\0') {
*p = *str1;
str1++;
p++;
}
while (*str2 != '\0') {
*p = *str2;
str2++;
p++;
}
*p = '\0';
}
int main() {
char strings[60];
char *p;
char str1[] = { "ABCD" };
char str2[] = { "EFGH" };
p = strings;
Connect(str1, str2, p);
printf("%s", p);
return 0;
}