下面的程序结果是什么?怎么算?急求答案
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/10/05 23:16:06
下面的程序结果是什么?怎么算?急求答案
# include
# define M 3
# define N M+1
# define NN N*N/2
void main()
{
printf("%d\n",NN);
printf("%d\n",5*NN);
}
# include
# define M 3
# define N M+1
# define NN N*N/2
void main()
{
printf("%d\n",NN);
printf("%d\n",5*NN);
}
#define 就是宏定义,# define M 3
就是程序中的M都可以用3来替换,就这样就算.但一定要注意,你必须把全部宏定义全部替换完之后,才能计算结果.
# define M 3
# define N M+1
# define NN N*N/2
(1):
printf("%d\n",NN);
NN = N*N/2 = M+1*M+1/2 = 3 + 1*3 + 1/2 = 6
(2):同理
5*NN = 5*3 + 1*3 + 1/2 = 18
因为宏定义,在计算的时候先进行替换,然后在进行计算,不是我们通常想象的那样:
M = 3;
N = M + 1 = 4;
NN = N*N/2=4*4/2=8;
5*NN =5*8 =40;
所以在使用宏定义的时候,为了避免出现这样的错误,通常我们使用(),如:
# define M (3)
# define N (M+1)
# define NN (N*N/2)
void main()
{
printf("%d\n",NN);
printf("%d\n",5*NN);
}
就是程序中的M都可以用3来替换,就这样就算.但一定要注意,你必须把全部宏定义全部替换完之后,才能计算结果.
# define M 3
# define N M+1
# define NN N*N/2
(1):
printf("%d\n",NN);
NN = N*N/2 = M+1*M+1/2 = 3 + 1*3 + 1/2 = 6
(2):同理
5*NN = 5*3 + 1*3 + 1/2 = 18
因为宏定义,在计算的时候先进行替换,然后在进行计算,不是我们通常想象的那样:
M = 3;
N = M + 1 = 4;
NN = N*N/2=4*4/2=8;
5*NN =5*8 =40;
所以在使用宏定义的时候,为了避免出现这样的错误,通常我们使用(),如:
# define M (3)
# define N (M+1)
# define NN (N*N/2)
void main()
{
printf("%d\n",NN);
printf("%d\n",5*NN);
}
下面的程序结果是什么?怎么算?急求答案
下面程序的输出结果是什么?
VB 执行下面程序,第一行输出结果是_,第二行输出结果是_.程序如下,答案为11,-20.请问,第二空-20怎么算
下面程序的运行结果是_______
下面程序运行后的输出结果是
下面的根号怎么算?结果是多少?
25、下面程序段的运行结果是______ .
详细说明下C语言程序怎么运行的,结果是什么
求下面的短文阅读答案,急
连求什么都不知.一、填空:(1) 以下程序的输出结果是 【1】 main() { unsigned short a=
曲线拟合 急求一个二次曲线的拟合,求各位高手写下matlab的程序和答案
若运行以下程序时,从键盘输入2473↙(↙表示回车),则下面的程序的运行结果是