C: Как вы вызываете функцию в условии без использования if-else? - PullRequest
0 голосов
/ 05 мая 2018

В моем вступлении к cs мне сказали написать программу без использования операторов if \ else или (a? B-c), и они дали нам функцию int что-то () - не принимает значения - что-то печатает как return. Я хочу использовать эту функцию при некоторых условиях, но я не могу понять, как я буду вызывать ее, не используя if {}.

Любая помощь приветствуется Спасибо

Ответы [ 3 ]

0 голосов
/ 05 мая 2018

Я не знаю, какое решение они имели в виду, но, поскольку ваша функция возвращает int, вы можете использовать короткозамкнутую оценку:

int ignoreAnd = (oneNumber == anotherNumber) && someFunction();
int ignoreOr  = (oneNumber != anotherNumber) || someFunction();

В первом случае функция будет вызываться только при выполнении условия; во втором случае функция будет вызываться только при ложном условии.

0 голосов
/ 06 мая 2018

Вы можете использовать циклы, используя оператор break в конце, чтобы гарантировать, что он будет выполнен только один раз, вместо цикла. Для цикла:

for(;(a==b);)
{
    myFunc();
    break;// to make this loop execute only once.
}

Пока цикл:

while(a==b){
    myFunc();
    break;
 }
0 голосов
/ 05 мая 2018

Я бы использовал оператор switch вместо if else.

...