Confronto tra singoli caratteri

di il
5 risposte

Confronto tra singoli caratteri

Ciao a tutti ragazzi, avrei bisogno del vostro aiuto:

Sto creando un programma che simuli una cassa di un cinema, qui sotto posterò la funzione con la qule ho dei problemi: in questa funzione io voglio confrontare due singoli caratteri char uno facente parte di una struttura di una lista e l'altro proveniente da un array esterno alla funzione dove ho scritto tutti i nomi delle sale del cinema (identificati con una lettera).
Compilando il programma mi appare un warning warning: comparison between pointer and integer [enabled by default], ho capito che ciò è dovuto all'espressione B->sala == sala però non saprei come risolvere il problema, come devo fare in questi casi in cui devo confrontare due singoli caratteri?
Grazie in anticipo.





int biglietti_sala (puntalista B, const char *sala)
{
int b;

b = 0;

while (B != NULL)
{
if (B->sala == sala)
++b;

B = B->prossimo;
}

return b;
}

5 Risposte

  • Re: Confronto tra singoli caratteri

    Per confrontare le stringhe C devi usare funzioni come strcmp
  • Re: Confronto tra singoli caratteri

    Sisi, lo so, ma questo vale anche per i singoli caratteri?
    Perchè originariamente avevo provato con quella funzone e mi dava il medesimo errore.
  • Re: Confronto tra singoli caratteri

    Ma il parametro

    char *sala

    è un puntatore e non sappiamo cosa hai nella struttura. Quindi chiarisci un po' la situazione...
    Mostra il campo della struttura e come chiami la funzione. Dicci anche con hai usato la strcmp e che errori hai avuto.
  • Re: Confronto tra singoli caratteri

    Alla fine sono riuscito a risolvere il problema, grazie mille!
  • Re: Confronto tra singoli caratteri

    Dato che ti ho risposto e spiegato la situazione potresti dire come hai risolto ...?
Devi accedere o registrarti per scrivere nel forum
5 risposte