帮我分析下这个题目#define ADD(x) x+xmain(){int m=1,n=2,k=3;int sum=AD
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/06 22:42:30
帮我分析下这个题目
#define ADD(x) x+x
main()
{
int m=1,n=2,k=3;
int sum=ADD(m+n)*k;
printf(“sum=%d”,sum);
}
上面程序的运行结果是( B )
A)sum=9 B) sum=10 C) sum=12 D) sum=18
请说明清楚!
#define ADD(x) x+x
main()
{
int m=1,n=2,k=3;
int sum=ADD(m+n)*k;
printf(“sum=%d”,sum);
}
上面程序的运行结果是( B )
A)sum=9 B) sum=10 C) sum=12 D) sum=18
请说明清楚!
这个程序主要就是带参数的宏替换
宏替换展开后就是直接的字符替换
ADD(x) x+x
ADD(m+n) 调用后 直接 用 m+n 替换 x
所以 ADD(m+n)*k 就变成了
m+n+m+n*k
然后就是表达式的计算了
所以
结果是 10
选 B
宏替换展开后就是直接的字符替换
ADD(x) x+x
ADD(m+n) 调用后 直接 用 m+n 替换 x
所以 ADD(m+n)*k 就变成了
m+n+m+n*k
然后就是表达式的计算了
所以
结果是 10
选 B
帮我分析下这个题目#define ADD(x) x+xmain(){int m=1,n=2,k=3;int sum=AD
这个题为什么选A啊 #include #define f(x) x*x*xmain(){ int a=3,s,t;s=f
这道题就是看不明白(38) 有以下程序#define f(x) x*xmain( ){ int i; i=f(4+4)/
#define S(x)4 *(x)*x+1 main() {int k=5,j=2;printf("%d\n",S(k
#include #define S(x) x*x void main() { int a,k=3,m=1; a=S(k
帮我分析一下,急着用1.执行以下程序段后的输出结果是( )。 int x = 3; int m, n; n = (++x
#include #define M 20; void main() { int i,j,k,p,t,n=0; int
define M 5#define N M+M main(){int k;k=N*N*5; printf("%d",k)
若有宏定义# define s(x) x*x-x,设int k=3; 问cout
#define SQR(X) X*X #include void main(){ int a=16,k=2,b=4,m=
#include #define S(x) x*x main() {int a=9,k=3,m=2; a/=S(k+m)
#define SQR(X) X*X main() { int a=16,k=2,m=1; a/=SQR(k+m)/SQ