Lettura numero binario

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+1;
}while (binario == 0) OR (binario == 1);
return ;
}

Risposte
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.

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!

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.