-7

我在这段代码中遇到错误 -invalid conversion from int* to int我该如何纠正这个错误?

#include <stdio.h> 
#include <conio.h> 

void walk(int,int,int,int,int,int,int);

int main() 
{ 
    int n,i; 
    scanf("%d",&n); 
    int a[10],b[10],c[30];
    for(i=1;i<=n;i++) 
    { 
        scanf("%d",&a[i]); b[i]=0; 
    } 
    int j=1; 
    walk(1,j,0,b,c,n,a); 
    for(i=1;i<=j;i++) 
    { 
        if(c[i]==0) 
            printf("%d"); 
        else printf("%d",c[i]);
    } 
    getch(); 
} 

void walk(int i,int j,int s,int b[],int c[],int n,int a[]) 
{
    c[j]=a[i];
     j++;
    if(b[a[i]]!=1) 
    {
        b[a[i]]=1;
        walk(a[i],j,s,b,c,n,a);
    } else { 
        c[j]=0;
        s++;
        i=1;
        while(b[i]==1&&i<=n) 
            i++; 
        if(i<=n) 
            walk(i,j,s,b,c,n,a); 
        else printf("%d",s);
    }
}
4

1 回答 1

4

您声明 walk asvoid walk(int,int,int,int,int,int,int)但在定义中您使用了一些int[]参数。

于 2013-09-27T22:30:38.223 回答