Ti faccio presente qualche "errore" notato a colpo d'occhio...

codice:
#include<stdio.h>
#define N 20

int main(){
	char str[N];
	
	printf("Inserisci scringa\n");
	scanf("%s",&str);
	printf("\n La stringa inserita e' %s\n",str);
	
	int i=0;
	for(i=0;str[i]!='\0';i++);
		printf("\n La stringa inserita e' lunga %d\n",i);
	
	char ric[]='c';     //Dichiarazione non giusta
	int somma=0;    //Non la usi mai questa variabile
	
	for(i=0;str[i] != '\0' ;i++)
		if (str[i]=='c');

	if(str[i]=='\0') 
		printf("\n la Lettera %s e' contenuta nella stringa\n",ric);
	else 
		printf("\n NO\n");
}
Vedendo questi errori non capisco come possa compilarti questo codice. Un altra cosa che non capisco, e chiedo conferma dagli esperti è per quanto riguarda la dichiarazione delle variabili, se non ricordo male nel c le variabili devono essere dichiarate all'inizio del main, no?