Объясните, как C оценивает это выражение - PullRequest
1 голос
/ 19 февраля 2011
x=4+2%-8;

Это дает вывод = 6 Пожалуйста, кто-нибудь объяснит, как?

Ответы [ 4 ]

12 голосов
/ 19 февраля 2011

x=4+2%-8; эквивалентно x = 4 + (2 % -8);, что дает x = 4 + 2, что составляет 6.

Подробнее: C Таблица приоритетов оператора

6 голосов
/ 19 февраля 2011

Если вы отметите эту таблицу приоритетов первый мод берется, а затем добавляется к 4

так (2%-8) дает 2
тогда 2+4 = 6

3 голосов
/ 19 февраля 2011

Поскольку приоритет оператора% является самым высоким из уравнения, программа сначала выполняет операцию 2% 8, которая равна 2, и добавляет это к 4.

0 голосов
/ 01 ноября 2018

Поскольку вы не можете разделить число 2 на 8., поэтому никакое деление и само число (2) не будут выводиться как для значения модуля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...