Введенная вами строка test->a
имеет длину одиннадцать символов, включая завершающий нулевой символ: 1234567890\0
.Когда вы копируете его в a
, этот нулевой символ заканчивается первым символом b
.Затем вы перезаписываете его строкой, скопированной в b
, так что в памяти вы получите:
a - - - - - - - - - b - - - - - - - - - - - - - - - - - - -
1 2 3 4 5 6 7 8 9 0 a s d f g \0
^
|
a's terminating null was here.
Затем вы напечатаете a
(начиная с '1'
) и b
(начиная с 'a'
), производя этот вывод.