单选题有以下程序:#include #define FNA(x) x*x#define FNB(x) x+xmain(){ int a=2,b=4; printf(%d,%d,FNA(FNB(a)),FNB(FNA(b)));}程序运行后的输出结果是(  )。A8,16B16,32C8,32D16,16

单选题
有以下程序:#include #define FNA(x) x*x#define FNB(x) x+xmain(){ int a=2,b=4; printf(%d,%d,FNA(FNB(a)),FNB(FNA(b)));}程序运行后的输出结果是(  )。
A

8,16

B

16,32

C

8,32

D

16,16


参考解析

解析:
带参数的宏定义不是进行简单的字符串替换,而是要进行参数替换不计算,只是进行简单的替换。替换过程是:用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。FNA(FNB(a))的替换过程为:FNB(a)*FNB(a) = a+a*a+a,则FNA(FNB(2))替换为2+2×2+2,计算结果为8。FNB(FNA(b))的替换过程为:FNA(b)+FNA(b) = b*b+b*b,FNB(FNA(b))替换为4×4+4×4 = 32。程序运行后的输出结果是8,32,答案选择C选项。

相关考题:

下列程序的运行结果是()。includedefine ADD(x)x+xmain(){int m=1,n=2,k=3; int s=ADD 下列程序的运行结果是( )。 #include<stdio.h> #define ADD(x)x+x main() { int m=1,n=2,k=3; int s=ADD(m+n)*k; printf("s=%d",s); }A.sum=18B.sum=10C.sum=9D.sum=25

有以下程序 include define N 5 define M N+1 有以下程序 #include <stdio.h> #define N 5 #define M N+1 #define f(x) (x*M) main() { int i1,i2; i1=f(2) i2=f(1+1); printf("%d %d\n",i1,i2); } 程序的运行结果是______。A.12 12B.11 7C.11 11D.12 7

以下程序运行后,输出结果是define PT5.5define S(x)PT*x*xincludemain(){int a=1,b= 以下程序运行后,输出结果是 #define PT 5.5 #define S(x) PT*x*x #include<stdio.h> main() { int a=1,b=2; printf("%4.1f\n",s(a+b));}A.49.5B.9.5C.22D.45.0

下列程序的输出结果是()。 include define F(x)2.84+x define w(y)printf("%d",(int) 下列程序的输出结果是( )。#include<stdio.h>#define F(x)2.84+x#define w(y)printf("%d",(int)(y))#define P(y)w(y)putchar('\n')main(){ int x=2;P(F(5) *x);}A.12B.13C.14D.16

下面程序的运行结果是【17】。#define N 10#define s(x)x*x#define f(x)(x*x)main(){ int i1,i2;i1=1000/s(N); i2=1000/f(N);printf("%d %d\n",i1,i2);}

请选出以下程序段的输出结果______。includedefine MIN(x,y)(x) 请选出以下程序段的输出结果______。 #include<stdio.h> #define MIN(x,y) (x)<(y)?(x):(y) main() { int i,j,k;i=10;j=15; k=10*MIN(i,j); printf("%d\n",k); }A.15B.100C.10D.150

以下程序的输出结果是______。 include define FUDGE(y)2.84+y define PR(a) printf( 以下程序的输出结果是______。 #include<stdio.h> #define FUDGE(y) 2.84+y #define PR(a) printf("%d",(int)(a)) #define PRINT1(a) PR(a);putchar('\n') main() { int x=2; PRINT1(FUDGE(5)*x); }A.11B.12C.13D.15

有以下程序 include define F(X,Y) (X)*(Y) main( ) { int a=3, b=4; prin 有以下程序#include <stdio.h>#define F(X,Y) (X)*(Y)main( ){ int a=3, b=4;printf("%d\n", F(a++, b++));}程序运行后的输出结果是A.12B.15C.16D.20

以下程序的输出结果是______。 include define FUDGE(y)2.84+y define PR(a)printf(" 以下程序的输出结果是______。 #include<stdio.h> #define FUDGE(y) 2.84+y #define PR(a) printf("%d",(int)(a)) #define PRINT() PR(s) ;putchar('\n') main() { intx=2; PRINT1 (FUDGE(5)*x); }A.11B.12C.13D.15

有以下程序includedefine F(X,Y)(X)*(Y)main(){int a=3,b=4;printf("%d\n",F(a++,b++ 有以下程序 #include<stdio.h> #define F(X,Y)(X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); 程序运行后的输出结果是A.12B.15C.16D.20

有以下程序:includedefine N 5define M N+1define f(x)(x*M)main(){int i1,i2;i1=f 有以下程序: #include<stdio.h> #define N 5 #define M N+1 #define f(x)(x*M) main() {int i1,i2; i1=f(2); i2=f(1+1); printf("%d%d",i1,i2); } 程序的运行结果是( )。A.12 12B.11 7C.11 11D.12 7

以下程序的输出结果是 ______。includedefine SQR(x)x*xmain((){ int a,k=3;a=++SQR(K 以下程序的输出结果是 ______。#include<stdio.h>#define SQR(x)x*xmain((){ int a,k=3; a=++SQR(K+1); printf("%d\n",A) ;}A.8B.9C.17D.20

有以下程序#include stdio.h#define P 24;#define S(x) P*x+x;main(){ int a=2, b=2; printf("%d\n",S(a+b));}程序的运行结果是A.程序编译运行时报错,无法输出 B.54 C.96 D.100

有以下程序includedefine PT3.5;define S(x)PT*x*x;main(){inta=1,b2;printf("%4.1f 有以下程序 #include<stdio.h> #define PT3.5; #define S(x)PT*x*x; main() { inta=1,b2; printf("%4.1f\n",S(a+b); } 程序运行后的输出结果是______。A.14.0B.31.5C.7.5D.程序有错无输出结果

有以下程序段:include define MIN(x,y)(x) 有以下程序段:include<iostream.h>define MIN(x,y) (x)<(y)?(x):(y)void main(){int i,j,K;i=10;j=15;k=10*MIN (i,j);cout<<k<<endl;}程序执行后的输出结果是______。

以下程序的输出结果是_______。includedefine SQR(x)x*xmain(){int a;k=3; a=++SQR(k+ 以下程序的输出结果是_______。 #include<stdio.h> #define SQR(x)x*x main() { int a;k=3; a=++SQR(k+1); printf("%d\n",a) ; }A.8B.9C.17D.20

有以下程序:includedefine X 5+6main(){int a=2,c;C=X*2:printf("%d",C);}程序运行后 有以下程序: #include<stdio.h> #define X 5+6 main() {int a=2,c; C=X*2: printf("%d",C); } 程序运行后的输出结果是( )。A.17B.22C.16D.11

以下程序运行后,输出结果是______。 define P4.5 define S(x)P*x*x include main() { 以下程序运行后,输出结果是______。 #define P4.5 #define S(x)P*x*x #include<stdio.h> main() { int a=2,b=3; printf("%.1f\n",S(a+b)); }A.49.5B.112.5C.18D.24

有以下程序:include define f(x) x*xmain(){int i; i=f(4+4)/f(2+2); priatf("%d\n", 有以下程序: #include <stdio.h> #define f(x) x*x main() { int i; i=f(4+4)/f(2+2); priatf("%d\n",i); } 执行后的输出结果是( )。A.28B.22C.16D.4

有以下程序#include "stdio.h"#define M(x,y) (x)*(y) #define N(x,y) (x)/(y) main(){ int a=5,b=6,c=8,k; k=N(M(a,b),c); printf("%d\n",k);} 程序的运行结果是A.3 B.5C.6 D.8

以下程序的输出结果是()。includedefine F(x)2.84+xdefine w(y)printf("%d",(int)(y) 以下程序的输出结果是( )。 #include<stdio.h> #define F(x)2.84+x #define w(y)printf("%d",(int)(y)) #define P(y)w(y) main() {int x=2; P(F(5)*x); }A.12B.13C.14D.16

以下程序的输出结果是______。includedefine SQR(x)x*xmain(){int a,k=3; a=++SQR(k+1 以下程序的输出结果是______。 #include<stdio.h> #define SQR(x)x*x main() { int a,k=3; a=++SQR(k+1); printf("%d\n",a); }A.8B.9C.17D.20

下列程序的运行结果是()。 include define ADD(x)x+x main() {int m=1,n=2,k=3; int s 下列程序的运行结果是( )。#include<stdio.h>#define ADD(x)x+xmain(){ int m=1,n=2,k=3;int s=ADD(m+n)*k;printf("s=%d",s);}A.sum=18B.sum=10C.sum=9D.sum=25

有以下程序:include define P 3void F(int x) {return(P* x* x); tmain( ){printf(" 有以下程序:#include <stdio.h>#define P 3void F(int x) { return(P* x* x); tmain( ){ printf(" % d \n" ,F(3 + 5) ); }程序运行后的输出结果是( )。A.192B.29C.25D.编译出错

执行下列程序后,输出的结果是()。 include define S(X)X*X void main() {iht a=9,k=3, 执行下列程序后,输出的结果是( )。#include<stdio.h>#define S(X)X*Xvoid main(){ iht a=9,k=3,m=2;a/=S(k+m)/S(k+m);printf("%d",A) ;}A.1B.4C.9D.0

阅读下列程序段,则程序的输出结果为 #include"stdio.h" #define M(X,Y)(X)*(Y) #define N(X,Y)(X)/(Y) main() { int a=5,b=6,c=8,k; k=N(M(a,b),c); printf("%d\n",k);}A.3B.5C.6D.8

有以下程序:include define F(X,Y)(X)*(Y)main(){int a=3,b=4;printf("%d\n",F(a++,b 有以下程序: #include <stdio.h> #define F(X,Y)(X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } 程序运行后的输出结果是( )。A.12B.15C.16D.20