У меня на экзамене в университете на следующей неделе, и я смотрел на старые экзаменационные документы, один из вопросов дает этот фрагментированный бит кода.Не могу понять это, если заявление
int a=2, b=-1, c=0;
if (a-2||b&&c||a){
printf("True\n");
} else {
printf("False\n");
}
Мы должны определить, что выход из этого кода будет, но если оператор не имеет смысла для меня любой, если заявление я наткнулся было очень специфична, как говорят
if(x == 0)
I не знаю, что это значит, мое единственное предположение заключается в том, что это будет всегда верно. Я прав, или есть еще что-то для этого тогда?
Обратите внимание, что ваш последний пример ('if (x = 0)') является присваиванием, а тело оператора if никогда не будет выполнено. Возможно, вы имели в виду 'if (x == 0)'. –
Проверьте документацию о приоритете операторов '' '' '(http://en.cppreference.com/w/c/language/operator_precedence).Он также ссылается на страницы описания каждого типа операторов 'C'. – axiac
Оператор if содержит выражение, и вам необходимо оценить его, принимая во внимание приоритет оператора. Если он оценивает значение 0, это неверно, иначе это правда. – JeffRSon