18.08.2013 Views

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

Dalla A alla Z passando per C - Robotica

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

}<br />

scanf("%d %d %d", &n4, &n5, &n6);<br />

printf("valori inseriti: %d %d %d\n", n4, n5, n6);<br />

return 0;<br />

Esso si attende l’inserimento di 3 valori interi, che vengono poi stampati, e successivamente<br />

l’inserimento di altri tre valori interi, a loro volta poi stampati.<br />

Si considerino dunque le seguenti esecuzioni del programma, nelle quali i numeri sono separati<br />

con varie combinazioni di spazi e INVIO.<br />

$ ./tscanf<br />

1 2 3<br />

valori inseriti: 1 2 3<br />

4 5 6<br />

valori inseriti: 4 5 6<br />

Nell’esempio i primi tre valori sono separati da spazi e terminati dall’INVIO come ci si aspetterebbe.<br />

Allo stesso modo, nell’esempio seguente si separa ciascun valore con INVIO e si ottiene<br />

lo stesso output:<br />

$ ./tscanf<br />

1<br />

2<br />

3<br />

valori inseriti: 1 2 3<br />

4<br />

5<br />

6<br />

valori inseriti: 4 5 6<br />

Nell’esempio seguente, invece, si forniscono più valori <strong>per</strong> la prima funzione:<br />

$ ./tscanf<br />

1 2 3 4<br />

valori inseriti: 1 2 3<br />

4 5 6<br />

valori inseriti: 4 4 5<br />

si noti che l’ultimo valore inserito nella prima istruzione, viene assegnato <strong>alla</strong> prima variabile<br />

nella seconda istruzione, che potrebbe non essere di facile interpretazione. Ci si potrebbe infatti<br />

aspettare che il valore venisse scartato, mentre invece produce un assegnamento diverso delle<br />

variabili rispetto agli esempi precedenti.<br />

Lo stesso tipo di input può essere ottenuto utilizzando opportunamente la fgets, come<br />

nell’esempio seguente<br />

#include <br />

int main()<br />

{<br />

128

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!