синтаксис — проверка, является ли XOR также истинным для операторов, в дополнение к ИЛИ в переполнении стека

В настоящее время у меня есть следующая функция, которая возвращает bool, если элемент является началом объявления или началом оператора.

bool start_of_block_element() {
return start_of_declaration() || start_of_statement();

Мне нужно проверить, верно ли XOR для них, и вывести bool. Я не уверен, как объединить их вместе. Он должен возвращать true, если XOR и OR возвращают true

Мое предположение:

bool start_of_block_element() {
return (

(start_of_declaration() ^ start_of_statement() ) && ( start_of_declaration() || start_of_statement() )

);
}

Это правильный способ сделать это?

-1

Решение

предполагать bool D = start_of_declaration() а также bool S = start_of_statement()

Ты хочешь D || S == true, а также D ^ S == true, В общем,

D | S | вернуть
—+—+—-
0 | 0 | 0
1 | 0 | 1
0 | 1 | 1
1 | 1 | 0

Любой оператор, который предоставляет эту таблицу истинности, удовлетворит ваши требования, поэтому используйте оператор, который имеет эту таблицу истинности:

return start_of_declaration() != start_of_statement()
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector