• 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] Perché mi chiede di scrivere due volte il primo numero?

Korra96

Nuovo utente
Autore del topic
24 Ottobre 2010
43
0
Miglior risposta
0
Mi chiede di ripetere il secondo numero, ma ho controllato e ricontrollato e non ho trovato nessun errore o ripetizione. Se potete trovarmelo voi. ( lasciatemelo così, fate in modo solo di non far chiedere due volte il numero). Ecco il codice:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
Grazie.
 
Questi sono i classici errori che coloro che iniziano a programmare in C fanno. Prima cosa : è bene inserire "int" prima di main(), perchè il C, essendo un linguaggio strutturato, va ad operare prevalentemente sui registro di memoria della CPU, e dal momento che questi registri sono fatti da sequenze di numeri, è bene che tu metta int main(). Seconda cosa ( nonchè la più importante) : è sbagliato mettere 'a' è uguale ad :. Ti spiego perchè...Tu volevi fare in modo che la prima variabile ( a ), venga printata con il valore che le è stato assegnato, giusto ? Ma tu scrivendo : 'a', in realtà stai facendo riferimento ad una variabile di tipo char ! Cioè un carattere, e dal momento che li caratteri non ce ne sono ( e non c'è nessuna variabile che fa riferimento ad un carattere ), il programma si aspetta in input non solo la variabile INTEGER di a, ma anche il suo carattere, per questo ti chiede di inserire 2 volte il primo valore. Ergo, la soluzione è scrivere all'interno di ogni printf : Il primo numero è : ....

Spero che tu abbia capito.
 
Ultima modifica:
Questi sono i classici errori che coloro che iniziano a programmare in C fanno. Prima cosa : è bene inserire "int" prima di main(), perchè il C, essendo un linguaggio strutturato, va ad operare prevalentemente sui registro di memoria della CPU, e dal momento che questi registri sono fatti da sequenze di numeri, è bene che tu metta int main(). Seconda cosa 8 nonchè la più importante : è sbagliato mettere 'a' è uguale ad :. Ti spiego perchè...Tu volevi fare in modo che la prima variabile ( a ), venga printata con il valore che le è stato assegnato, giusto ? Ma tu scrivendo : 'a', in realtà stai facendo riferimento ad una variabile di tipo char ! Cioè un carattere, e dal momento che li caratteri non ce ne sono ( e non c'è nessuna variabile che fa riferimento ad un carattere ), il programma si aspetta in input non solo la variabile INTEGER di a, ma anche il suo carattere, per questo ti chiede di inserire 2 volte il primo valore. Ergo, la soluzione è scrivere all'interno di ogni printf : Il primo numero è : ....

Spero che tu abbia capito.

Grande system ^^
Grazie. :emoji_relieved:
 
cioè nella seconda cosa che ho sbagliato come devo aggiustarlo? scrivimi la parte di codice ( così capisco meglio ). Grazie.