为什么老是显示未知重写说明符呢

/*函数的功能是将学生成绩从高分到低分排序,并统计优秀与不及格的人数。用下面两种方法实现:
(1)函数形式为:int fun1(int s[],int n,int *x)‍
要求优秀人数通过return返回,不及格人数通过指针参数返回结果。‍
(2)函数形式为:void fun2(int s[],int n,int &x,int &y)‍
要求优秀与不及格的人数通过引用参数返回结果。‍
分别编二个函数,学生人数从键盘输入。*/
#include<iostream>
#include <string.h>
using namespace std;
int fun1(int s[],int n,int *x);
void fun2(int s[],int n,int &x,int &y);
int main()
{
int n;
int s[100]={0};
cin>>n;
for(int i=0;i<n;i++)
cin>>s[i];
int x=0,y=0;
cout<<"优秀的人数为:"<<fun1(s,n,&x)<<endl;
cout<<"不及格的人数为:"<<x<<endl;
system("pause");
return 0;
}
int fun1(int s[],int n,int *x)‏
{
int i,j,imax,w;
int excellent=0;
for(i=0;i<n-1;i++)
{imax=i;
for(j=i+1;j<n;j++)
if(s[j]>s[imax])imax=j;
w=s[imax];
s[imax]=s[i];
s[i]=w;
for(int k=0;k<n;k++)
{if (s[k]>=90)excellent++;
if(s[k]<60)(*x)++;}
return excellent;}
//这段代码有什么问题呢,我老是看不出来,QAQ

最后一个函数括号有点问题,其他没有

int fun1(int s[],int n,int *x) {
    int i,j,imax,w;
    int excellent=0;
    for(i=0; i<n-1; i++) {
        imax=i;
        for(j=i+1; j<n; j++)
            if(s[j]>s[imax])imax=j;
        w=s[imax];
        s[imax]=s[i];
        s[i]=w;
        for(int k=0; k<n; k++) {
            if (s[k]>=90)excellent++;
            if(s[k]<60)(*x)++;
        }
    }
    return excellent;
}