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.

Tabella 4.1: Tabella degli specificatori di formato.<br />

codice tipo nota<br />

d int intero in base 10; carattere di segno<br />

opzionale<br />

i int intero in base 16 se inizia con 0x o 0X,<br />

base 8 se inizia con 0, altrimenti base<br />

10; carattere di segno opzionale<br />

o unsigned int intero senza segno in base 8<br />

u unsigned int intero senza segno in base 10<br />

x X unsigned int intero senza segno in base 16<br />

f e g E float numero in virgola mobile; segno<br />

opzionale<br />

s *char stringa di caratteri diversi dallo spazio<br />

c *char stringa di caratteri di lunghezza specificata<br />

n int inserisce nella variabile corrispondente<br />

il numero di caratteri letti finora<br />

4.10 Specifica di formato <strong>per</strong> printf e scanf<br />

Le funzioni scanf e printf, ma anche tutte le altre funzioni della stessa famiglia come fscanf,<br />

fprintf, sscanf e sprintf, accettano una serie di specificatori <strong>per</strong> il formato delle variabili che<br />

devono leggere/scrivere.<br />

La specifica di formato e’ sempre introdotta dal carattere %, seguito da una lettera che<br />

indica il tipo della variabile. Alcuni degli specificatori di formato piu’ utilizzati sono riportati in<br />

Tabella 4.1, mentre la trattazione dettagliata dei vari tipi di dato e’ riportata in Sezione 7.<br />

Nel caso la funzione scanf legga una stringa, il vettore di caratteri che deve contenere il<br />

risultato deve essere di dimensione adeguata. Inoltre viene aggiunto il carattere \0 <strong>alla</strong> fine della<br />

stringa.<br />

Gli specificatori di formato ammettono di essere preceduti dal carattere l, che indica che la<br />

relativa variabile e’ di tipo long se si tratta di interi o di double se si tratta di numeri in virgola<br />

mobile.<br />

Inoltre e’ <strong>per</strong>messo specificare quante cifre devono essere stampate, <strong>per</strong> esempio decidendo di<br />

stampare un numero in virgola mobile con 2 sole cifre dopo la virgola.<br />

41

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

Saved successfully!

Ooh no, something went wrong!