For-Schleife sagt expression syntax-Fehler beim initialisieren integer in der Schleife

Beim Programmieren bin ich gekommen, um eine ungewöhnliche Fehler. Wenn ich die Initialisierung einer integer in eine Schleife, manchmal heißt es, dass der Ausdruck nicht gültig ist, aber manchmal nimmt es Sie an.
Das ist mein code, die Fehler gibt:

int pow(int x,int n);
int main()
{
    int x,n,result;
    printf("Enter a number:\n");
    scanf("%d",&x);
    printf("Enter its power:\n");
    scanf("%d",&n);
    result=pow(x,n);
    printf("Result is %d\n",result);
    getch();
    return 0;
}
int pow(int x,int n)
{   
    for(int i=1;i<n;i++)   //<-- here it says that declaration syntax error
    x=x*i;
    return x;
}

Während, wenn ich es wie folgt :

int pow(int x,int n)
{   
    int i;
    for(i=1;i<n;i++)  
    x=x*i;
    return x;
}
InformationsquelleAutor fuddin | 2010-08-27
Schreibe einen Kommentar