Используя GCC (в Linux), он печатает больше мусора:
abcdefgh°ÃÕÄÕ¿UTÞÄÕ¿UTÞ·
abcdefgabcdefgh°ÃÕÄÕ¿UTÞÄÕ¿UTÞ·
Это потому, что вы печатаете два символьных массива в виде строк (используя% s).
Это прекрасно работает:
char label[9] = "abcdefgh\0"; char arr[8] = "abcdefg\0";
printf("%s\n",label); printf("%s",arr);
Однако вам не нужно явно упоминать "\ 0". Просто убедитесь, что размер массива достаточно большой, т.е. на 1 больше, чем количество символов в ваших строках.