Função em C

Pessoal,sou novo aqui então perdoem por algum erro.

	if(*p == '\0') {
		return NULL;
	}
	else{
		if(*p == v){
			return p;
		}
		else{
			return X(p + 1,v);
		}
	}	
}

tenho essa função e a questão pede para eu criar a função MAIN em que essa função compilaria(ou seja,criar o main para essa função).
Eu fiz assim:

	char *p[50];
	scanf("%s",p);
	
	char v = "OI";
	
	char resultado = X(p,v);
	
	if(resultado == NULL) {
		printf("valor nulo");
	}
	else {
		printf("encontrou");
	}```
porem dá errado,alguem pode ajudar?

Acho que tem que formatar %p para ler ponteiro…

Se v é do tipo caractere você teria que escrever char v = ‘O’ ou char v = ‘I’;
Agora se for uma string você teria que escrever:
char v[] = “OI”; ou char v[3] = “OI”; ou ainda char* v= “OI”;

onde está definida a função char X(char**, char)

e por fim, onde está a função main()?
int main() {

}