请帮忙分析以下的程序,给出该程序的正确执行结果,谢谢。
#include <iostream.h>
int add(int x,int y)
{
return x+y;
}
void main()
{
int m=2,n=3;
cout<<”1:”<<add(m++,m+n)<<endl;
m=2,n=3;
cout<<”2:”<<add(++m,m+n)<<endl;
m=2,n=3;
cout<<”3:”<<<endl;
m=2,n=3;
cout<<”4:”<<<endl;
}
请帮忙分析以下的程序,给出该程序的正确执行结果,谢谢。
#include <iostream.h>
int add(int x,int y)
{
return x+y;
}
void main()
{
int m=2,n=3;
cout<<”1:”<<add(m++,m+n)<<endl;
m=2,n=3;
cout<<”2:”<<add(++m,m+n)<<endl;
m=2,n=3;
cout<<”3:”<<<endl;
m=2,n=3;
cout<<”4:”<<<endl;
}
#include <iostream.h>
int add(int x,int y)
{
return x+y;
}
void main()
{
int m=2,n=3;
cout<<"1:"<<add(m++,m+n)<<endl;
m=2,n=3;
cout<<"2:"<<add(++m,m+n)<<endl;
m=2,n=3;
cout<<"3:"<<endl;
m=2,n=3;
cout<<"4:"<<endl;
}
这样就行了都是点小毛病
cout<<"1:"<<add(m++,m+n)<<endl;
cout<<"2:"<<add(++m,m+n)<<endl;
哪位好心人能不能给我说说这2句是如何执行的呢,
我实在看不出来,为何等于7和8。
[此贴子已经被作者于2005-12-3 23:30:54编辑过]
不是大家好心不好心的问题,是回答这样的问题有点…………
cout<<"1:"<<add(m++,m+n)<<endl;
m++为2,m+n为2+3,所以结果为7
cout<<"2:"<<add(++m,m+n)<<endl;
++m为3,m+n为2+3,所以结果为8
区别在于
m++,表达式的值为2,m值为3。
++m,表达式的值为3,m值为3。
明白了吗?
谢谢各位高手!学习了不少东西!