Это мой код:
#include"stdio.h"
void main()
{
char *name;
name=(char*)malloc(5);
name="ABCDEF";
printf("add is %x and value is %s \n",name,name);
name="ABCDEFGHIJKMNOPQUVWXYZIJKL";
printf("add is %x and value is %s \n",name,name);
}
Сначала я пытаюсь динамически предоставить значение для указателя char
, используя malloc()
, то есть 5
.
Затем я печатаюзначение указателя после предоставления большего значения, чем выделенное пространство.
Однако. он все еще печатает всю строку, почему?