• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Problema risolto [C] problema char

chack1172

Utente Senior
Autore del topic
27 Aprile 2013
1.538
69
Miglior risposta
1
Ciao raga non ho mai utilizzato il c ed ora sto iniziando ad usarlo ma sto avendo dei problemi con le stringhe.
Questo è il codice:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Il problema è che se ad esempio quando mi chiede P gli do A e quando mi chiede C gli do D non mi stampa 75 ma mi stampa 2359364.
Ho provato in diversi modi ma mi da sempre lo stesso errore, come mai?
@ptm
 
Ciao raga non ho mai utilizzato il c ed ora sto iniziando ad usarlo ma sto avendo dei problemi con le stringhe.
Questo è il codice:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Il problema è che se ad esempio quando mi chiede P gli do A e quando mi chiede C gli do D non mi stampa 75 ma mi stampa 2359364.
Ho provato in diversi modi ma mi da sempre lo stesso errore, come mai?
@ptm

Un vettore di char deve essere di lunghezza N ( con N>0) , allocato staticamente oppure devi usare un puntatore a char allocato dinamicamente.
nel tuo caso basta un carattere di input , quindi dichiari di tipo char.
L'header string.h fornisce dei metodi per lavorare sulle stringhe. Nello standard C , non esiste il tipo string.
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
 
Ultima modifica:
Io inserisco queste cose A, 7, D

se provo ad aggiungere questo codice:

HTML:
Perfavore, Entra oppure Registrati per vedere i codici!

a Periodo mi stampa <null> e si stoppa il programma
 
Io inserisco queste cose A, 7, D

se provo ad aggiungere questo codice:

HTML:
Perfavore, Entra oppure Registrati per vedere i codici!

a Periodo mi stampa <null> e si stoppa il programma

perché continui ad usare %s quando stai stampando un tipo char ?
%s identifica un tipo char * ed è normale che ti riporti null.
Hai effettuato le modifiche che ho scritto nel 2° post?
 
@TBH ho sostituito tutti i %s con %c ma ora c'è un problema. Dopo aver inserito il numero di giorni di pernottazione il programma va alla fine senza mostrarmi l'ultima domanda
 
@TBH ho sostituito tutti i %s con %c ma ora c'è un problema. Dopo aver inserito il numero di giorni di pernottazione il programma va alla fine senza mostrarmi l'ultima domanda

aggiungi questo alla fine del secondo input
fflush(stdin);
 
@TBH lo avevo messo dopo il secondo input poi l'ho spostato.
Comunque come ho scritto sopra ho risolto mettendo lo spazio
 
Il punto che come cosa non ha senso scanf ignora tutti gli spazi vuoti fino al primo carattere che incontra , ciò significa che inserire o meno quel carattere vuoto non cambia , una domanda ma stai usando dev c++? @chack1172
 
@TBH ho un altro problema, all'inizio ho assegnato alla costante S il valore 5. Ora dovrei prendere il valore di questa costante ma non riesco a prenderlo.

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
 
Ultima modifica: