c语言函数调用 Missing ')'

#include <stdio.h>int search(int key,int a[],int len){ int ret=-1; int left=0; int right=len-1; while(right>left) { int mid; mid=(left+right)/2; if(a[mid]==key) { ret=mid; break; } else if(a[mid]>key) { right=mid-1; } else { left=mid+1; } } return ret;}int main(){ int k=10; int r=search(k,amount[],amount[a]/amount(a[0])); if(r!=-1) { printf("%d在%d位上",k,r); } return 0;}
为什么我调用函数的时候显示?
$ cpp main.c -o main.ii
$ cc main.ii -o main
main.c:30:27: Error: Missing ')'
int r=search(k,amount[],amount[a]/amount(a[0]));

int r = search(k, amount[], amount[a] / amount(a[0]));
最后一个amount多了个括号,a也没有声明,
数组长度的计算也不合适,改为下面的
int r = search(k, amount, sizeof(amount) / sizeof(int));