Я предполагаю, что ваши abc
указывают на фактическую строку, а не на ничего. Очистка вашего примера кода будет полезна.
В прошлом я делал это для записи статической строки и никогда не сталкивался с проблемой. Оглядываясь назад, мне повезло. Чтобы быть правильным, это должно выглядеть примерно так:
const char* abc = "foo";
printf("%s", abc);