求帮助2!
#define F(n) 2*n那么请问代码中 F(3+2) 的值等于多少?sQzqH,Rg
<,B;0Pr|qmOf47zl&ng_Y1
答:F(3+2) == 2*3+2 == 8,注意,宏定义是在程序编译时先进行的预处理,做法是直接将标识符替换为常量,并不会进行相关运算。因此,直接将 F(3+2) 替换为 2*3+2。
怎么打印出F(n)的值,我打印的是10,怎么不是8.
#include <stdio.h>
#define F(n) 2*n
int main(void)
{
int n = 3 + 2;
printf("%d", F(n));
return 0;
}
D#include <stdio.h>
#define F(n) 2*n
int main(void)
{
int n = 3 + 2;
printf("%d", F(n));
return 0;
}
直接printf("%d" , F(3+2) ); 你这样先定义完n=3+2后再F(n)的话实际执行的就是F(5)=2 x 5 = 10. thank you
页:
[1]