主题:紧急求助大家帮我修改这些程序
请大家帮我看一下这几个程序的运行结果为什么与我所分析的结果不一样
程序1如下:
#include<iostream.h>
#include<stdlib.h>
#define M 1.5
#define A(a) M*a
void main()
{
int x(5),y(6);
cout<<A(x+y)<<endl;
system("PAUSE");
}
系统运行结果:13.5
而我分析的结果为什么是:16.5(因为1.5*(5+6)的结果是16.5)
程序2如下:
#include<iostream.h>
#include"f1.cpp"
void main()
{
int a(5),b;
b=f1(a);
cout<<b<<endl;
system("PAUSE");
}
f1.cpp文件内容如下:
#define M(m) m*m
f1(int x)
{
int a(3);
return -M(x+a);
}
系统运行结果:10
而我分析的结果为什么是:64
程序2中,我还有一疑问不理解的是:return -M(x+a);语句中的“-”符号有没有用,如果有用的话,那有何作用。
请大家帮我指点哦,谢谢咯
程序1如下:
#include<iostream.h>
#include<stdlib.h>
#define M 1.5
#define A(a) M*a
void main()
{
int x(5),y(6);
cout<<A(x+y)<<endl;
system("PAUSE");
}
系统运行结果:13.5
而我分析的结果为什么是:16.5(因为1.5*(5+6)的结果是16.5)
程序2如下:
#include<iostream.h>
#include"f1.cpp"
void main()
{
int a(5),b;
b=f1(a);
cout<<b<<endl;
system("PAUSE");
}
f1.cpp文件内容如下:
#define M(m) m*m
f1(int x)
{
int a(3);
return -M(x+a);
}
系统运行结果:10
而我分析的结果为什么是:64
程序2中,我还有一疑问不理解的是:return -M(x+a);语句中的“-”符号有没有用,如果有用的话,那有何作用。
请大家帮我指点哦,谢谢咯