Я не слишком знаком с программированием на C (я только сделал несколько небольших проектов на языке), однако, мой профессор сказал кое-что о его поведении сегодня, что немного смутило меня.
Он сказал, что этот код иногда вообще ничего не печатает (я скопировал именно то, что было на плате, я считаю, что это псевдокод для C, поскольку "print" не в C):
int a = ___________;
int b = ___________;
if (a < b)
print (“<“);
if (a > b)
print (“>”);
if (a==b)
print(“=”);
По сути, есть кое-что, что вы можете сохранить в тех переменных int, где ни одно из этих условий не будет выполнено ( _ __ _ не соответствует действительности Код, очевидно, просто представляет, что что-то есть) Это не обязательно должен быть какой-то int, который заполняет эти пробелы ... это может быть что угодно в мире (и может быть что-то, что происходило до этого кода).
Что может заполнить эти пробелы и не дать никакого результата, и почему?
p.s - это было связано с переполнением, неопределенным поведением, ошибкой выхода за границы или чем-то подобным
p.p.s - У меня серьезные проблемы с верой, что этот профессор ошибся. Он знает больше о программировании, чем кто-либо, с кем я когда-либо сталкивался. Я убежден, что в некоторых случаях это так.