Книга: Язык Си - руководство для начинающих
ВОПРОСЫ И ОТВЕТЫ
Вопросы
1. Ниже приведены группы операторов, содержащих по одному и более макроопре делений, за которыми следуют строки исходных кодов, использующих эти макро определения. Какой результат получается в каждом случае? Правилен ли он?
a. #define FPM 5280 /* футов в миле */
dist = FPM * miles;
б. #define FEET 4
#define POD FEET + FEET
plort = FEET * POD;
в. #define SIX = 6;
nex = SIX;
г. #define NEW(X) X + 5
у = NEW(y);
berg = NEW(berg) * lob;
est = NEW(berg) / NEW(y);
nilp = lob * NEW(-berg);
2. Подправьте определение в вопросе 1.г, чтобы сделать его более надежным.
3. Определите макрофункцию, которая возвращает минимальное из двух значений.
4. Задайте макроопределение, в котором есть функция whitesp(с) считающая в программе пустые символы.
5. Определите макрофункцию, которая печатает представления значения двух целых выражений.