|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
定义一个预处理命令作为函数的名字,然后分别改变它的名字。经过不断的改变,发现函数名的改变还会改变它的结果,跪求各高手解答。
我用的是VC6.0的编译器。代码如下:
//***************************************************************
//***************************************************************
#include<iostream>
#define TT swap
using namespace std;
int main()
{
void TT(int &,int &);
int i=3,j=5;
TT(i,j);
cout<<i<<" "<<j<<endl;
return 0;
}
void TT(int &a,int &b)
{
int temp;
temp=a;
a=b;
b=temp;
}
//**************************************************
//**************************************************
代码上面的结果是:3 5
可是当预处理命令的改为其他的名字时
代码上面的结果是:5 3
如何解释??????????
补充:
当然,不用预处理命令,直接用函数名swap运行后:
代码上面的结果是:3 5
把3个swap都改为其他的名字
代码上面的结果是:5 3
求解释
|
|