Home
Accesso / Registrazione
 di 

Programmare in C - Printf: Leggere i valori inseriti dall'utente

Guida C

Printf: come leggere i valori inseriti dall'utente. Guida sulla programmazione del linguaggio C.

Il programma precedente è un buon programma, ma sarebbe meglio se leggesse i valori 5 e 7 dall'utente invece che usare delle costanti. Pertanto, provate ad editare questo programma.

#include <stdio.h>
int main() { int a, b, c; printf("Enter the first value:"); scanf("%d", &a); printf("Enter the second value:"); scanf("%d", &b); c = a + b; printf("%d + %d = %d\n", a, b, c); return 0; }

Qui è spiegato come questo programma funzione quando è in esecuzione
Compilate e mandate in esecuzione il programma per essere sicuri che funzioni. Notate che la funzione scanf usa le stesse stringhe di formato della printf (digitate man scanf da linea di comando per maggiorni informazioni). Notate inoltre, il simbolo & davanti alle variabili a e b.

Questo simbolo & si chiama anche operatore indirizzo in C e restituisce, appunto, l'indirizzo della variabile (questo non sembra essere molto sensato: lo sarà una volta che parleremo di puntatori). Si deve usare l'operatore & nella scanf su ogni variabile di tipo carattere, intero o float, così come quando si usano i tipi strutturati di cui parleremo più avanti. Se dimenticherete di indicare l'operatore &, si verificherà un errore durante l'esecuzione del programma. Provate, per una volta, a ometterlo per rendervi conto di quali siano e di come si presentano gli errori generati a run-time.

Vediamo ora alcune variazioni per capire come funziona la funzione printf più in dettaglio. Questo è l'istruzione printf più semplice.

Printf(“Hello”);

Questa chiamata alla printf ha una stringa di formato che dice alla printf stessa di spedire la parola “Hello” allo standard output. Al contrario:
printf("Hello\n");
dice anch'essa di stampare “Hello” su standard output, solo che deve essere seguita anche da un ritorno a capo.

La linea seguente mostra come effettuare l'output di una variabile con la funzione pritf.

printf("%d", b);

Il simbolo %d è un placeholder (segnaposto) che sarà sostituito dal valore della variabile b quando
l'istruzione printf verrà eseguita. Spesso, si dovrà stampare sia un valore di una variabile che una stringa. Un modo per farlo potrebbe essere:

printf("The temperature is ");
    printf("%d", b);
    printf(" degrees\n");
Un modo più semplice è invece scrivere:
 printf("The temperature is %d degrees\n", b);

Si può anche usare placeholder %d multipli in un'istruzione printf:

printf("%d + %d = %d\n", a, b, c);

Nell'istruzione printf, è estremamente importante che il numero di operatori nella stringa di formato corrisponda esattamente con il numero e tipo di variabili che seguono. Per esempio, se la stringa di formato contiene tre operatori %d, allora devono essere esattamente tre i parametri che seguono in coda e devono avere gli stessi tipi nello stesso ordine che quelli specificati dagli operatori.

Si possono stampare tutti i tipi C (standard) con la printf, utilizzando per l'appunto placeholder diversi:
• per gli int (valori interi) si utilizza %d
• per i float (valori a virgola mobile float) si utilizza %f
• per i char (stringhe di un singolo carattere) si utilizza %c
• per le stringhe di più caratteri si utilizza %s.

Per conoscere di più sulla funzione printf digitare il comando man 3 printf su di un sistema UNIX. Per altri tipi di piattaforma, utilizzate la documentazione del vostro compilatore.

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ci sono attualmente 4 utenti e 138 visitatori collegati.

Ultimi Commenti