互换数值主要是出现实参和虚参问题,下面是小结下。
第一种使用指针方法,来互换内容
//使用指针互换指针内容值
void swap(int *a,int *b)
{
int temp=*b;
*b=*a;
*a=temp;
void swap(int *a,int *b)
{
int temp=*b;
*b=*a;
*a=temp;
}
第二种可以通过引用来互换数值
//使用引用来互换值
void swap1(int &a,int &b)
{
int temp=b;
b=a;
a=temp;
void swap1(int &a,int &b)
{
int temp=b;
b=a;
a=temp;
}
下面给出互换指针方法,主要是通过引用来互换。
//互换指针值非内容
void ptrswap(int *&a,int *&b)
{
int *temp=b;
b=a;
a=temp;
void ptrswap(int *&a,int *&b)
{
int *temp=b;
b=a;
a=temp;
}
下面是指向函数的指针实现以及定义
//指向函数的指针
int min(int *ia,int sz)
{
int minVal=ia[0];
for (int i=0;i<sz;++i)
{
if (ia[i]<minVal)
{
minVal=ia[i];
}
}
return minVal;
}
int min(int *ia,int sz)
{
int minVal=ia[0];
for (int i=0;i<sz;++i)
{
if (ia[i]<minVal)
{
minVal=ia[i];
}
}
return minVal;
}
int (*pf)(int*,int)=min;//定义指向函数的指针
使用函数指针
//指向函数的指针
const int sz=5;
int sz1[sz]={8,3,5,6,7};
const int sz=5;
int sz1[sz]={8,3,5,6,7};
cout<<(*pf)(sz1,sz);