x=4+2%-8;
Это дает вывод = 6 Пожалуйста, кто-нибудь объяснит, как?
x=4+2%-8; эквивалентно x = 4 + (2 % -8);, что дает x = 4 + 2, что составляет 6.
x = 4 + (2 % -8);
x = 4 + 2
Подробнее: C Таблица приоритетов оператора
Если вы отметите эту таблицу приоритетов первый мод берется, а затем добавляется к 4
так (2%-8) дает 2 тогда 2+4 = 6
(2%-8)
2
2+4 = 6
Поскольку приоритет оператора% является самым высоким из уравнения, программа сначала выполняет операцию 2% 8, которая равна 2, и добавляет это к 4.
Поскольку вы не можете разделить число 2 на 8., поэтому никакое деление и само число (2) не будут выводиться как для значения модуля.