关于C++的一个调用函数问题

来源:百度知道 编辑:UC知道 时间:2024/06/23 08:08:05
#include <iostream.h>
int swap(int a,int b)
{
int temp;
if(a>b)
temp=a,a=b,b=temp;
return a,b;
}
void sort(int a[],int n)
{
for(int i=0;i<=9;i++)
for(int j=1;j<10&&j>i;j++)
{
swap(a[i],a[j]);
cout<<a[i];
}
}
void main()
{
int a[10];
cout<<"请输入十个整数:";
cin>>a[10];
sort(a,10);
cout<<endl;
}
这是用来排序的,十个数,从小到大
检测没错误,但是运行后,我输进十个数以后,就输出很长的数,完全不是我输进的那些

#include <iostream.h>

void main()
{
int a[10];
cout<<"请输入十个整数:"<<endl;

int i,j,temp;
int n=10;

for(i=0;i<10;i++)
cin>>a[i];

for(i=0;i<n-1;i++)
{
for(j=n-2;j>=i;j--)
{
if(a[j]>a[j+1])
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}

for(i=0;i<10;i++)
cout<<a[i]<<" ";

cout<<endl;

}

/*
1.
cin>>a[10]; 没有这个用法,因为a[10]数组,cin不支持这样的操作。

2.
sort方法有问题,没有if判断

3.
swap方法有问题。并且也不能返回a,b两个数,只能有一个返回值。
实在要把swap写在外面,应这样写。
void swap(int &a,int &b)
{
int temp;
if(a>b)
temp=a,a=b,b=temp;
}

*/

你要问什么?什么都不说粘代码上来?
是代码有问题,还是看不明白?

return a,b;
可以这样吗?
我就没有这样用过了

返回值只能是一个,不能同时返回两个的,像数组之类的,如果需要返回数组的信息,应该把数组当形参传递进去~~<