#include<stdio.h>
#define TRUE 1
#define FALSE 0
typedef struct{
int key;
int other;
}rectype;
rectype R[1024];/*定义一个记录类型的数组R*/
void BUBBLESORT(rectype R[]){
int i,j,noswap,n;
n=1024;
rectype temp;
for(i=0;i<n-2;i++)
{
noswap=TRUE;
for(j=n-1;j>=i;j--)
if(R[j+1].key< R[j].key)
{
temp=R[j+1];
R[j+1]=R[j];
R[j]=temp;
noswap=FALSE;
}
if(noswap)
break;
}
}
我所遇到的问题:
void BUBBLESORT(rectype R[])
- 在这行代码中,首先返回值类型是不可却是的,没有便会报错。
- 其次,当结构体被作为函数参数时,要确保它被描述清楚,
void BUBBLESORT(rectype R)
这便是错误的示例, R[]作为一个数组,要描述清楚。