数组对换,print函数传参有问题,请教
#include <iostream>
using namespace std;
int *cinp(int *a)
{
for(size_t i=0;i!=4;++i)
{cin>>a[i];}
return &*a;//输入
}
int *ing(int*a)
{int b[10];int max=a[0];int min=a[0];
int x=0,y=0;//替换过程
for(size_t i=0;i!=4;++i)
{ b[i]=a[i];
if(max<b[i])
{max=b[i];
x=i;}
}
for(size_t j=0;j!=4;++j)
{ b[j]=a[j];
if(min>b[j])
{min=b[j];
y=j;}
}
int tem=0;int g=0;
tem=a[3];
a[3]=a[x];
a[x]=tem;
g=a[0];
a[0]=a[y];
a[y]=g;//替换过程对的在这里打印是可以进行最小和第一位替换,最大和最后一位替换,但是单独做成输出函数就会出错
}
int print(int *a)//单独做成的输出函数
{ for(size_t i=0;i!=4;++i)
{cout<< a[i];}//打印
}
int main() {
int a[4];
print (ing(cinp(a)));
return 0;
}
1 4 6 2会输出1426
6 2 3 5会输出5360
我估计print参数是错的,请求帮助