И используя последний элемент в списке как значение списка
int main(void)
{
return printf("hello world!\n") *0;
}
printf возвращает количество напечатанных символов
int main(void)
{
return 13 *0;
}
И 13 * 0 остается в качестве упражнения для читателя.
Ответ 2
('yes', *"no", **main, *********printf)
будет оцениваться как *********printf, потому что оператор-запятая оценивает свои операнды и возвращает значение последнего выражения. *********printf равен printf, поскольку указатель функции разыменования приводит к тому же указателю функции; он ничего не делает.
Далее, результат первой скобки printf применяется к ( "hello world!\n" ), что приводит к печати текста на экран. Функция printf возвращает количество написанных символов. Затем это число умножается на 0, а продукт возвращается основной функцией.