char A[3] = "AA";
char B[4];
printf("Type : ");
gets(B);
char AB[20]; // just big size
strncpy(AB, A, 3);
strncat(AB, B, 4);
printf("%s", AB);
Да, я знаю, что это уязвимый код (б / с получает).
Если я набираю «BBB», то char AB печатает «AABBB».
Если я набираю «BBBB», то char AB печатает «BBBB»
Я знаю, что переполнение Char B,Но когда я объединяю A & B в больший буфер, A исчезает, почему это происходит?Кто-нибудь может объяснить четко?