Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
Dalla A alla Z passando per C - Robotica
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