Ciao a tutti, ho un problema con questo programma:

#include <stdio.h>
#include <string.h>

char *strncat (char *, const char *, int );

main() {

char stringa1[100], stringa2[100];
int x;

scanf("%s", stringa1);
scanf("%s", stringa2);
scanf("%d", &x);

printf("%s", *strncat(stringa1, stringa2, x));

return 0;
}

char *strncat (char *s1, const char *s2, int n) {

printf("strncat(s1, s2, n) = %s\n", strncat(s1, s2, n));
}

Compilandolo mi da [Warning] conflicting types for built-in function `strncat', non riesco a capire dove sia l'errore (o gli errori )
Ovviamente il programma viene eseguito ma non funziona correttamente, la funzione strncat dovrebbe prendere n caratteri dalla stringa s2 alla fine della stringa s1, praticamente appende a s1 gli n caratteri di s2, il primo carattere di s2 va a sovrascrivere il carattere \0 di terminazione della stringa s1. Grazie per l'aiuto