能不能帮我看看这个程序哪里出错了

img


能不能帮我看看这个程序哪里出错了,目的是连接字符串不用strcat函数。

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;
}