#include

char my_strcpy(char* a,char* b)
{
int c=0;

while(*a!=0)
{
a[c]=0;
c++;
}
c=0;
while(*b!=0)
{
a[c]=*b;
c++;
b++;
}

return *a;
}

int main()
{
char a[50]={0};
char b[50]={0};

printf("첫번째 문자를 입력하세요:");
scanf("%s",a);
printf("두번째 문자를 입력하세요:");
scanf("%s",b);

printf("첫번째 입력한 문자:%s\n",a);
printf("두번째 입력한 문자:%s\n",b);

my_strcpy(a,b);

printf("첫번째 입력한 문자:%s\n",a);
printf("두번째 입력한 문자:%s\n",b);

return 0;
}

문자열 복사하는건데

예를들어서 a에 aaa를 넣고 b에 bb를 넣으면

a가 bb로 출력되어야하는데 bba로 출력함

분명 위에서 a에 다 0으로 초기화한다음 bb를 넣었으니까
당연히 널문자 만나기전까지인 bb가 출력되어야 정상아님?
근데 왜 aaa에서 세번째 a가 그대로 출력되는거임?