Язык программирования С, лабораторная работа 1.
Макроопределения
Задания
Решить задачи ЛР№2 предыдущего семестра.
Вместо функций следует создавать и применять макроопределения. Существуют ситуации, когда макроопределение невозможно
определить в виде функции, например тогда, когда оно должно в себя включать инструкции языка C,
не возвращающие результат (циклы, ветвления и т.п.). В таком случае макроопределение следует создавать в процедурном стиле,
возвращая результат в одном из его параметров.
Пример макроопределения получения максимального из двух значений в функциональном стиле:
#define max(A, B) ((A) > (B) ? (A) : (B))
Использование:
printf("%d\n",max(10, 20));
Пример макроопределения получения максимального из двух значений в процедурном стиле:
#define max(A, B, RESULT) { if ((A) > (B)) RESULT=(A); else RESULT=(B); }
Использование:
float res;
max(10.2,9.8,res);
printf("%f\n",res);