Pagina 1 di 1

Lettura numero binario

MessaggioInviato: 24/12/2019, 14:42
da myster
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 ;
}

Re: Lettura numero binario

MessaggioInviato: 29/12/2019, 01:52
da myster
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.

Re: Lettura numero binario

MessaggioInviato: 30/12/2019, 02:49
da probid
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!