So già che è sbagliato il 90%... ecco perchè non volevo metterlo. 
[code#include <stdio.h>
#include <string.h>
#define max 20
int carica(char s[],int n);
char parola (char s[],int n, char *smallest_word, char *largest_word);
int main ()
{
	char *smallest_word, *largest_word, s[max];
	int n;
	printf("inserire il numero di parole:  ");
	scanf("%d",&n);
carica	(s, n);
 parola ( s, n,  smallest_word,  largest_word);
 
{	
	return 0;
	
	
	
}
int carica( char s[], int n)
{
	int i;
	for(i=0;i<n;i++)
	{
		 printf("\nInserisci parola  =  ",i);
        scanf("%s",&s);
    }
    return 0;
}
char parola (char s[],int n, char *smallest_word, char *largest_word);
{
	smallest_word=&s[0];
	largest_word=&s[0];
int i;
for (i=0;i<n;i++)
{
					if (strcmp(smallest_word,s[i+1])<0);
					
						(strcpy(smallest_word,s[i+1]));
					
		
	
		else if (strcmp(largest_word,s[i+1])>0);
		
			(strcpy(largest_word,s[i+1]));
		
}
printf("la parola più corta è : %s",smallest_word);
printf("la parola più lunga è : %s",largest_word);
return ;
}
][/code]