Review Questions

1:Here are groups of one or more macros followed by a source code line that uses them. What code results in each case? Is it valid code? (Assume C variables have been declared.)
  1. #define FPM  5280     /* feet per mile */
    dist = FPM * miles;
  2. #define FEET 4
    #define POD FEET + FEET
    plort = FEET * POD;
  3. #define SIX = 6;
    nex = SIX;
  4. #define NEW(X) X + 5
    y = NEW(y);
    berg = NEW(berg) * lob;
    est = NEW(berg) / NEW(y);
    nilp = lob * NEW(-berg);
2:Fix the definition in 1d to make it more reliable.
3:Define a macro function that returns the minimum of two values.
4:Define the EVEN_GT(X,Y) macro that returns 1 if X is even and also greater than Y.
5:Define a macro function that prints the representations and the values of two integer expressions. ...

Get C Primer Plus, Fourth Edition now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.