> 文章列表 > 《C Primer Plus》第16章复习题与编程练习

《C Primer Plus》第16章复习题与编程练习

《C Primer Plus》第16章复习题与编程练习

《C Primer Plus》第16章复习题与编程练习

  • 复习题
    • 1. 下面的几组代码由一个或多个宏组成,其后是使用宏的源代码。在每种情况下代码的结果是什么?这些代码是否是有效代码?(假设其中的变量已声明)

复习题

1. 下面的几组代码由一个或多个宏组成,其后是使用宏的源代码。在每种情况下代码的结果是什么?这些代码是否是有效代码?(假设其中的变量已声明)

a.

#define FPM 5280 /*每英里的英尺数*/ 
dist = FPM * miles; 

b.

#define FEET 4 
#define POD FEET + FEET 
plort = FEET * POD; 

c.

#define SIX = 6; 
nex = SIX; 

d.

#define NEW(X) X + 5 
y = NEW(y); 
berg = NEW(berg) * lob; 
est = NEW(berg) / NEW(y); 
nilp = lob * NEW(-berg);

答:

a.

有效。dist = 5280 * miles

b.

有效。plort = 4 * 4 + 4

c.

无效。

d.

有效。y = y + 5
有效,但可能有误。est = berg + 5 * lob
有效,但可能有误。est = breg + 5 / y + 5
有效(传递进去的是负值不是一个符号加变量)。 lob * (-berg) + 5