Предупреждение: у нас есть цензура и предварительный отбор публикуемых материалов. Анекдоты здесь бывают... какие угодно. Если вам это не нравится, пожалуйста, покиньте сайт. 18+

История №516391

Поодходит ко мне програмист-американец и спрашивает:
- Сколько 6*9?
- 54, отвечаю я ем-42, утверждает он и показывает программу(а он
работает в C/C++)
#include <stdio.h>

#define SIX 1+5
#define NINE 8+1

int main(void)
{
int value = SIX * NINE; printf("Answer = %d\n", value); return 0;
}
- Данный код выводит строку «Answer = 42», потому что препроцессор языка
С++ трансформирует SIX * NINE в математическое выражение 1+5*8+1. Так
как при вычислениях сначала выполняется умножение, а затем сложение,
получается неправильный результат. Если в инструкциях #define
использовать скобки, ответ будет более ожидаемым, то есть 54, объяснил я
ему.
- А комп умнее, всё-таки, сказал он и как мы его не убеждали он всё
равно считает что 6*9=42.
Кажется Задорнов прав.
[-10]
реклама на сайте | контакты | о проекте | вебмастеру
© 1995-2024 Анекдоты из России. Составитель Дима Вернер