出现了下面的问题,要怎么解决,求大神教教我

#include
void input(int r[], int N);
void output(int r[], int N);
void quicksort(int r[], int low, int high);
void binsearch(int r[], int N,int k);
#define N 6

int main()
{
int r[N];

printf("input the original records:\n");
// 调用input完成原始待排序元素输入 
input(r,N);
printf("\n");
printf("output the original records:\n");
// 调用output完成原始待排序元素输出 
output(r,N);
printf("\n");
int k;
binsearch(r,N,k);
return 0;

}
// 数组元素输入
void input(int r[], int N)
{
int i;
for(i=0;i<N;i++)
scanf("%d",&r[i]);
}

// 数组元素输出
void output(int r[], int N)
{
int i;
for(i=0;i<N;i++)
printf("%d ",r[i]);
}

void binsearch(int r[], int N, int k)
{
int low=0,high=n-1;
while(low<=high)
{
int mid;
mid=(low+high)/2;
if(k=r[mid].key)
{
printf("查找成功\n");
printf("下标为:\n");
printf("mid");
break;
}
if(k high=mid-1;
if(k>r[mid].key)
low=mid+1;
while(low>high)
printf("查找失败\n");
return;
}
}

Compiling...
Cpp1.cpp
C:\Users\jdj\Desktop\Cpp1.cpp(25) : error C2143: syntax error : missing ')' before 'constant'
C:\Users\jdj\Desktop\Cpp1.cpp(25) : error C2143: syntax error : missing ';' before 'constant'
C:\Users\jdj\Desktop\Cpp1.cpp(25) : fatal error C1004: unexpected end of file found
执行 cl.exe 时出错.

Cpp1.exe - 1 error(s), 0 warning(s)

N不是已经定义为6了么?为什么你还要搞一个参数也叫N。

把所有int N删除掉。

楼上正解。你形参的int N里的N编译器会把它当做你上面宏定义的6
变量的命名也采用下划线分割小写字母的方式命名。
命名应当准确,不引起歧义,且长度适中。