#define A(n) 2*n+1 则表达式A(2+3)的值是能再相信一些么 不理解的就是 为什么 A(2+3) 就变成了 2*2+3+1 新手 初学 请多说一点

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/01 06:18:41

#define A(n) 2*n+1 则表达式A(2+3)的值是能再相信一些么 不理解的就是 为什么 A(2+3) 就变成了 2*2+3+1 新手 初学 请多说一点
#define A(n) 2*n+1 则表达式A(2+3)的值是
能再相信一些么 不理解的就是 为什么 A(2+3) 就变成了 2*2+3+1 新手 初学 请多说一点

#define A(n) 2*n+1 则表达式A(2+3)的值是能再相信一些么 不理解的就是 为什么 A(2+3) 就变成了 2*2+3+1 新手 初学 请多说一点
1、宏是简单替换,也就是说会将'2+3'直接替换为后面表达式中的n
因此变为 2* 2 + 3 + 1
如果你期望 2*(2+3)+1
做法有两种
方法1:
#define A(n) 2*(n) + 1
方法2:
在现有宏基础上,调用处修改为 A((2+3))
2、运算过程如下(按照运算符优先级计算:'()' > '!' > '||'):
!(3

#define N 3 #define Y(n) ((N=1)*n) 则表达式2*(N+Y(5+1))的值是#define N 3 #define Y(n) ((N+1)*n) 则表达式2*(N+Y(5+1))的值是 、设有以下宏定义:#define N 3 #define Y(n) ( (N+1)*n) 则执行语句:z=2 * (N+Y(5+1));后,z的值为 D .A、设有以下宏定义:#define N 3#define Y(n) ( (N+1)*n)则执行语句:z=2 * (N+Y(5+1));后,z的值为 D .A、 出错 B、 42 C、 48 #define N 3 #define Y(n) ( (N+1)*n) 则执行语句:z=2 * (N+Y(5+1));后,z的值为 #define N 2 #define M N+1 #define K M+1*M/2#define N 2#define M N+1#define K M+1*M/2main(){int i;for(i=1;i 这俩题的答案是几,怎么算的?第一题:#define N 3#define Y(n) ((N+1)*n)则执行语句:z=2*(N+Y(5+1));后,z的值为——第二题:#include #define PT 5.5#define S(X) PT*X*Xvoid main(){int a=1,b=2;printf(%4.1f/n,S(a #include #define A 2 #define B(x) x*(A+2) void main() { int a=5; printf(%d ,B(a+1)); } #define N 2 #define M N+1 #define NUM (M+1)*M/2 main() {int I; for(I=1;I #include #define N 2#define M N+1#define NUM (M+1)*M/2main(){ int i;for(i=1;i 在C语言中为什么执行过 #define N 2 #define M N+1 #define NUM (M+1)*M/2以后,NUM的值是8而不是6 #define N 5 #define f(M) ((N+1)*M) 求x=2*(N+1)+2*f(N+1); 求x的值 最好带运算过程 #define getbit( b,n) (((b) & (1L #include #define X 5 #define Y X+1 #define Z Y*X/2 main() { int a; a=Y; printf(%d %d ,Z结果为什么是7 5呢,不解, 下面的程序结果是什么?怎么算?急求答案# include # define M 3# define N M+1# define NN N*N/2void main(){ printf(%d ,NN); printf(%d ,5*NN);} #include #define N 10 int i,j,s,z; int a[N],a[N][N],b[N-1],c[N-1],t[N][N],m[N][N],x[N] 若要求定义具有10个int类型元素的一位数组a,下列定义语句错误的是()A)#define N 10 B)#define n 5 C)int a[5+5]; D)int n=10,a[n];int a[2*n];为什么选BA)#define N 10 B)#define n 5 int a[2*n]; C)int a[5+5]; D)int n=10,a[n]; #define A(n) 2*n+1 则表达式A(2+3)的值是能再相信一些么 不理解的就是 为什么 A(2+3) 就变成了 2*2+3+1 新手 初学 请多说一点 C语言中 #define N 30 #define IFADOB(A,B) ((A)&&(B,0)) #define N 20 fun(int a[],int n,int m) {int i; for(i=m;i>n;i--)a[i+1]=a[i]; return m; } void main() #define N 20fun(int a[],int n,int m){int i;for(i=m;i>n;i--)a[i+1]=a[i];return m;}void main(){ int i,a[N]={1,2,3,4,5,6,7,8,9,10};fun(a,0,N/2);for(i=0;i