Vai al contenuto
Inviato

Salve a tutti

 

 

 

Voglio creare un programma che gestisce delle stringhe di testo.

Cioè voglio per esempio eseguire un'istruzione se la stringa inserita è uguale a una stringa che voglio io.

 

 

Io ho provato a impostare il codice in questo modo e il compilatore non segnala nessun errore, ma non ottengo il risultato che voglio.

 

 

#include <stdio.h>

#include <string.h>

 

int main (void)

 

{

 

char a[50];

 

 

printf("Inserisci una parola: ");

scanf("%c", &a);

 

 

if ( a == "ciao" ) {

printf("%c", a);

}

 

return 0;

 

}

 

 

 

Grazie a tutti per le risposte!!!!

Featured Replies

Inviato

naaaaaaa

il confronto che stai facendo è tra l'indirizzo di memoria da cui parte il tuo array di char <a> e quello da cui parte la costante stringa non simbolica "ciao".

Per i confronti tra stringhe si usa strcmp. Prova con

if(strcmp(a, "ciao")==0)

Inviato
Inoltre, per acquisire o stampare una stringa, il primo parametro di scanf e printf deve essere "%s" e non "%c".
Inviato
  • Autore

Grazie a tutti e due!!!

Grazie jtagger il mio problema è quello che mi sono dilungato in un argomento che non ho mai trattato. Sto studiando ancora le strutture di controllo.

Grazie robilyn per le specifiche di conversione non lo sapevo.

Crea un account o accedi per lasciare un commento