Для начала вы не можете разделять строковый литерал с символом новой строки. Так что этот вызов
printf ("the value of %nc :
", &c);
синтаксически неверен. Либо пишите
printf ("the value of %nc : \n ", &c);
, либо пишите
printf ("the value of %nc : \n"
"", &c);
При вызове выше функция printf
не выводит значение самой переменной c
. Вам нужен дополнительный вызов функции printf
для вывода значения переменной c
.
Если вы хотите сделать это в одну строку, вы можете написать так, как показано в демонстрационной программе ниже. .
#include <stdio.h>
int main(void)
{
int c;
printf( "%d\n", ( printf ("the value of %nc : ", &c ), c ) );
return 0;
}
Вывод программы:
the value of c : 13
Или, если вы хотите включить символ новой строки в выводимый строковый литерал, вы можете переписать вызов pf printf
следующим образом
printf( "%d\n", ( printf ("the value of %nc : \n ", &c ), c ) );
В этом случае вывод программы будет выглядеть как
the value of c :
13