Ciao a tutti, scusatemi la domanda che mi da l'idea essere stupida...
come faccio in C a leggere con scanf una sequenza di numeri interi senza sapere quanti me ne devo aspettare?
Graize
ste
Ciao a tutti, scusatemi la domanda che mi da l'idea essere stupida...
come faccio in C a leggere con scanf una sequenza di numeri interi senza sapere quanti me ne devo aspettare?
Graize
ste
Correggo il titolo... non mettere commenti personali, che non hanno a che vedere con la discussione... che poi non è detto che sia una così semplice bischerata.
Ciao.
"Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza
Con un ciclo while :
Questo è un esempio, ma la condizione di uscita (cioè quell'if) la puoi cambiare a piacimento tuo, magari in relazione al numero che leggi, o altre cose...codice:int flag=1; int numero; char risposta; while (flag) { scanf("%d",&numero); printf("Vuoi leggere ancora? (s/n)\n"); scanf("&c",&risposta); if (risposta=='n') flag=0; }
ciao ciao
Grazie, ma non è possibile leggere i dati inseriti in questa forma (es.): 2 6 93 4 6 etc etc?
grazie
stefano
Valuta l'idea di immettere i dati come un unica stringa e poi la dividi ed estrai i numeri.
Ci sono 10 tipi di persone al mondo, chi conosce il sistema binario e chi no.
La funzione scanf restituisce un valore di tipo int, che rappresenta il numero di dati effettivamente letti; se questo risulta inferiore al numero di argomenti usati nella chiamata (esclusa la control-string), vuol dire che si é verificato un errore.
Inoltre legge un dato finche non incontra un terminatore, cioè blank, tab o CR.
Ciò vuol dire che puoi controllare se ci sono ancora dati da leggere verificando che il valore di ritorno sia 1.
codice:int letto=1; while (letto) { letto=scanf("%d",&numero); printf("%d",numero); }