Здесь есть две проблемы:
1. printf()
ожидает, что первым аргументом будет строка const char*
, указывающая формат.
2. Компилятор не знает, как интерпретировать \n
вне строки (кавычки). Это то, что мешает компиляции.
Даже если вы удалили \n
, попытка printf(xd)
просит printf()
рассматривать xd (целое число) как строку формата - и это не сработает для вас. Фактически, C, вероятно, попытается выполнить неявное приведение от xd
до const char*
. Вы просите printf()
интерпретировать "массив символов, расположенный по адресу 21", как строку формата (и там почти наверняка нет строки формата).
То, что вы действительно хотели сказать, было:
printf("%d\n", xd);