Mały błąd w kodzie C

Program który ma wyznaczyć maksymalny el z tablicy. Gdzieś tu robię pewnie mały i głupi błąd, którego nie mogę znaleźć, proszę o pomoc.

#include <stdio.h>
#include <stdlib.h>
#define N 10


int maks(int tab[N])
{
    int max,i;
    max=tab[0];


    for(i=1; i<N; i++)
        if(tab[i]>max)
        max=tab[i];
    return(max);
}




int main()
{
    int tab[N];
    int i;
    int x;


    for(i=0; i<N; i++)
    {
        tab[i]=(rand()%10)+15;
    }




/ ***/ tu mi wyświetla wylosowane elementy tablicy/*** /

    for(i=0; i<N; i++)
    {
        printf("%d " ,tab[i]);
    }


    x=maks(tab[i]);


    printf("Max el. to: %d", x);




    return 0;
}

#include <stdio.h>