Buscar una letra en una cadena o frase introducida

  array, c

/* 
 * Author: desinweb
 */

#include <stdio.h>
#include <stdlib.h>


int main(int argc, char** argv) {
    char cadena [200];
    char letra;
    int posicionarray = 0;
    int contadorletras = 0;
    int opcion = 1;
  printf("Dime una frase\n");
        gets(cadena);
                
    do {
      
        printf("Dime una letra\n");
        scanf(" %c", &letra);
        fflush(stdin);
        while (cadena[posicionarray] != '\0') {
            if (cadena[posicionarray] == letra) {

                contadorletras++;
            }

            posicionarray++;
        }
        printf("Esta  letra %c aparece %d veces en esta frase \n", letra, contadorletras);
        posicionarray = 0;
        contadorletras = 0;
        printf("Quieres volver a buscar otra letra pulse 1 si no 0 \n");
        scanf("%d",& opcion);
    } while (opcion != 0);
    printf("Has salido de la aplicación");
    return (EXIT_SUCCESS);
}