Ходил на собеседование на позицию Embedded C Developer. На собеседовании спросили:
Почему, какое и при каких условиях не будет выполнятся if statement?
int a;
float b;
int main(){
if (a == a){
...
(some code)
...
}
if (b == b){
...
(some code)
...
}
Меня это сразу удивило. Я ответил, что никто бы так писать не стал. Однако, предложили подумать. Я начал рассуждать на тему прерываний. Что оно могло возникнуть и изменить переменные во время сравнения. Но мне так и не ответили почему, а просто промолчали. Подскажите, пожалуйста, ответить на этот вопрос хотя бы уже для себя. Просто интересно.