Lettura numero binario

Messaggioda myster » 24/12/2019, 14:42

Salve , devo realizzare una funzione in C che legge da tastiera un numero binario, ho realizzato questo algoritmo che però non funziona ,dove sta l'errore?Grazie.

void LeggereNumeroBinarioDaTastiera(){
int binario[8];
int i=0;
do{
printf("Inserisci un numero alla volta del numero binario ");
scanf("%d", &binario[i]);
i=i+1;
}while (binario[i] == 0) OR (binario[i] == 1);
return ;
}
myster
Starting Member
Starting Member
 
Messaggio: 2 di 3
Iscritto il: 19/12/2019, 16:33

Re: Lettura numero binario

Messaggioda myster » 29/12/2019, 01:52

il problema é che quando vado a compilare il programma e inserisco i numeri da tastiera mi fa inserire anche numeri diversi da 0 e 1.
myster
Starting Member
Starting Member
 
Messaggio: 3 di 3
Iscritto il: 19/12/2019, 16:33

Re: Lettura numero binario

Messaggioda probid » 30/12/2019, 02:49

Sintassi a parte: nella condizione del while non stai controllando la cella appena valorizzata, ma la successiva (i = i+1 viene eseguita prima). Il loop continua perché il contenuto di quest'ultima è indefinito, non necessariamente 0 (o 1).
Inoltre dovresti inserire un controllo per evitare il buffer overflow derivante dall'inserimento di più di 8 interi.

Ciao!
probid
Starting Member
Starting Member
 
Messaggio: 36 di 40
Iscritto il: 01/10/2010, 19:30


Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 13 ospiti