Buon giorno,
forse non avrò specificato un titolo esaustivo, ma non mi veniva nulla di chiaro in mente.

Ho ripreso, dopo anni, lo studio di C e ci sono alcune cose che ancora mi sfuggono o che ho dimenticato.
Ho scritto un semplice programma che memorizza una stringa, la stampa a video e ne conteggia i caratteri.
Tutto funziona.
Ora però mi ero messo in testa di mettere una condizione "if" per far si che il conteggio caratteri venga eseguito solamente se viene immesso da tastiera il testo "si".
Di seguito, il sorgente:
codice:
#include <stdlib.h>
#include <stdio.h>
#include <string.h>

main()
{
  typedef char string;
  string s[100];
  string scelta[2];
  int i, len=0;

  printf("Inserisci una parola: ");
  scanf("%s",s);    // memorizzo parola da input
  len=strlen(s);    // eseguo conteggio caratteri
  printf("Hai inserito: %s \n",s);
  
  
  printf("Vuoi effettuare il conteggio caratteri?");
  scanf("%s",scelta);
  if(scelta=='si')
  {
    printf("La parola '%s' contiene %d caratteri:\n",s,len);
  
    for(i=0; i<len; i++)
    printf(" s[%d] = %c\n",i,s[i]);
  }
  else
  printf("Arrivederci\n");
    
  
  system("pause");
}
Dov'è l'errore?