Dev C++中出现的函数调用问题
D:\编辑\SPMS.cpp[Error]'rank'wasnotdeclaredinthisscope--------具体如下:上述所见是说rank()函数在另一个函数...
D:\编辑\SPMS.cpp [Error] 'rank' was not declared in this scope
--------具体如下:
上述所见是说rank()函数在另一个函数DQ()里面没有被声明,在具体程序里面部分代码如下
void DQ(int isq){
char s[maxl];
memset(s,0,sizeof(s));
for(;;){
printf("Please enter SID or name. Enter 0 to finish.\n");
scanf("%s",s);
if(strcmp(s,"0")==0)break;
int r=0;
for(int i=0;i<n;i++){
if(!removed[i]){
if(strcmp(s,sid[i])==0||strcmp(s,name[i])==0){
if(isq)printf("%d %s %d %s %d %d %d %d %.2f\n",rank(i),------------错误代码行
sid[i],cid[i],name[i],score[i][0],score[i][1],score[i][2],
score[i][3],score[i][4]/4.0+EPS);
else{
removed[i]=1;r++;
}
}
}
}
if(!isq)printf("%d student(s) removed.\n",r);
}
}
int rank(int k){
int rank_num=1;
for(int i=0;i<n;i++){
if(score[k][4]<score[i][4])rank_num++;
}
return rank_num;
}
这两个函数都是定义的函数,而且rank在函数DQ外部声明了,怎么不可以调用rank呢?求解。 展开
--------具体如下:
上述所见是说rank()函数在另一个函数DQ()里面没有被声明,在具体程序里面部分代码如下
void DQ(int isq){
char s[maxl];
memset(s,0,sizeof(s));
for(;;){
printf("Please enter SID or name. Enter 0 to finish.\n");
scanf("%s",s);
if(strcmp(s,"0")==0)break;
int r=0;
for(int i=0;i<n;i++){
if(!removed[i]){
if(strcmp(s,sid[i])==0||strcmp(s,name[i])==0){
if(isq)printf("%d %s %d %s %d %d %d %d %.2f\n",rank(i),------------错误代码行
sid[i],cid[i],name[i],score[i][0],score[i][1],score[i][2],
score[i][3],score[i][4]/4.0+EPS);
else{
removed[i]=1;r++;
}
}
}
}
if(!isq)printf("%d student(s) removed.\n",r);
}
}
int rank(int k){
int rank_num=1;
for(int i=0;i<n;i++){
if(score[k][4]<score[i][4])rank_num++;
}
return rank_num;
}
这两个函数都是定义的函数,而且rank在函数DQ外部声明了,怎么不可以调用rank呢?求解。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询