Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 24.11.2010, 22:17   #1
Crudelis
Пользователь
 
Аватар для Crudelis
 
Регистрация: 05.04.2010
Сообщений: 56
Радость Объясните простое уравнение

Код:
#define MULT(a,b) a/b
cout<<2*MULT(2+5,3);
результат 5, не пойму почему, объясните пожалуйста как компилятор решает данное уравнение.
как я понял делается что то на подобии 2*(2+(5/3)), если так то ответ 6, но почему выдается ответ 5???
либо 2*(5+(2/3)) ответ 10, либо я что то не так понимаю.
Одним словом можете в строковом виде описать как считает компилятор на самом деле
сout<<"Изучаю программирование" точка с запятой
Crudelis вне форума   Ответить с цитированием
Старый 24.11.2010, 22:36   #2
sergey.d
Пользователь
 
Регистрация: 23.08.2010
Сообщений: 98
По умолчанию

Препроцессор разворачивает это выражение в 2*2+5/3, и результат равен 5
Можно исправить макроопределение
Код:
#define MULT(a,b) ((a)/(b))
но лучше такого рода макросы не использовать.

P.S. Компилятор уравнений не решает

Последний раз редактировалось sergey.d; 24.11.2010 в 22:45.
sergey.d вне форума   Ответить с цитированием
Старый 24.11.2010, 22:51   #3
Crudelis
Пользователь
 
Аватар для Crudelis
 
Регистрация: 05.04.2010
Сообщений: 56
По умолчанию

благодарю за разъяснение
сout<<"Изучаю программирование" точка с запятой
Crudelis вне форума   Ответить с цитированием
Старый 25.11.2010, 13:25   #4
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,054
По умолчанию

Цитата:
P.S. Компилятор уравнений не решает
Не совсем верно... можно шаблончиками )
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
простое клиентское приложение Domanoff БД в Delphi 1 20.06.2010 21:45
Простое меню на Яве Syltan Общие вопросы по Java, Java SE, Kotlin 4 01.06.2010 20:35
Простое любопытство.... KORT Свободное общение 130 20.06.2009 19:06
взаимно простое числы Cantana Помощь студентам 4 07.03.2008 09:46


06:44.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.