logo

printf in C

Nel linguaggio C, la funzione printf() viene utilizzata per stampare l'output formattato sullo standard output stdout (che generalmente è lo schermo della console). La funzione printf fa parte della libreria standard C < stdio.h> e può consentire la formattazione dell'output in numerosi modi.

Sintassi di printf

 printf  ( ' formatted_string ',   arguments_list);>

Parametri

    formatted_string: è una stringa che specifica i dati da stampare. Può anche contenere un identificatore di formato per stampare il valore di qualsiasi variabile come un carattere e un numero intero. lista_argomenti: questi sono i nomi delle variabili corrispondenti allo specificatore di formato.

Valore di ritorno

  • printf() restituisce il numero di caratteri stampati dopo l'esecuzione riuscita.
  • Se si verifica un errore, viene restituito un valore negativo.

Esempio di printf

In questo esempio, stiamo stampando la stringa Hello Geek! nell'output utilizzando la funzione printf(). Nella funzione printf() ciò che scriveremo tra virgolette doppie ( ) viene stampato nell'output.



C






// C program to illustrate the use of printf function> #include> int> main()> {> >// using printf to print 'Hello Geek!'> >printf>(>'Hello Geek!'>);> >return> 0;> }>



>

>

Produzione

Hello Geek!>

Formattazione in C printf

In C, un valore può essere un tipo di carattere, un tipo intero, un tipo float e così via. Per visualizzare e formattare questi valori utilizzando printf, abbiamo specificatori di formato utilizzati nella stringa formattata. Questi identificatori di formato iniziano con il simbolo di percentuale '%'.

Sintassi dell'identificatore di formato

%[flags][width][.precision][length]specifier>

1. Specificatore

È il carattere che denota il tipo di dati. Alcuni specificatori comunemente usati sono:

    %d: per stampare numeri interi %f: per stampare numeri a virgola mobile %c: per stampare caratteri %s: per stampare stringhe %p: per stampare indirizzi di memoria %x: per stampare valori esadecimali

Esempio

printf(' %c ', char_variable );>

2. Larghezza

È il sottospecificatore che denota il numero minimo di caratteri che verranno stampati.

Se il numero di caratteri è inferiore alla larghezza specificata, lo spazio bianco verrà utilizzato per riempire i posti dei caratteri rimanenti. Ma se il numero di caratteri è maggiore della larghezza specificata, tutti i caratteri verranno comunque stampati senza tagliarne alcuno.

Esempio

printf('% 25 s', some_string );>

O

printf('% * s', 25 , some_string );>

3. Precisione

Il significato del sottoidentificatore di precisione varia a seconda degli identificatori di formato con cui viene utilizzato.

Java esegue il ciclo while
    Per dati integrali(d, i, u, o, x, X): specifica il numero minimo di cifre da stampare. Ma a differenza del sottospecificatore larghezza, invece degli spazi bianchi, questo sottospecificatore aggiunge zeri iniziali al numero. Se il numero ha più cifre della precisione, il numero viene stampato così com'è. Per Float o Double Data(f, e, a, A): specifica il numero di cifre da stampare dopo il separatore decimale. Per String (s): specifica la lunghezza della stringa da stampare.

Esempio

printf('% .10 d', some_integer ); printf('% .3f ', some_float ); printf('% .25 s', some_string) ;>

O

printf('% .* d', 10 , some_integer ); printf('% .* f', 3 , some_float ); printf('% .* s', 25 , some_string );>

4. Lunghezza

Specifica la lunghezza del tipo di dati nella memoria. Viene utilizzato in corrispondenza di C




// C program to print a variable> #include> int> main()> {> >int> num1 = 99;> >int> num2 = 1;> >printf>(>'The sum of %d and %d is %d '>, num1, num2,> >num1 + num2);> >return> 0;> }>

>

>

Produzione

The sum of 99 and 1 is 100>

Esempio 2: printf con larghezza specificata

In questo esempio specificheremo la larghezza dell'output che verrà stampato dalla funzione printf().

C




// C program to illustrate the use of printf with width> // specifier> #include> int> main()> {> >// number to be printed> >int> num = 123456;> >// printing the num with 10 width and getting the> >// printed characters in char_printed> >printf>(>'Printing num with width 10: '>);> >int> chars_printed =>printf>(>'%10d'>, num);> >printf>(>' Number of characters printed: %d'>,> >chars_printed);> >// specifying with using other method> >printf>(>' Printing num with width 3: '>);> >chars_printed =>printf>(>'%*d'>, 3, num);> >printf>(>' Number of characters printed: %d'>,> >chars_printed);> >return> 0;> }>

>

>

Produzione

Printing num with width 10: 123456 Number of characters printed: 10 Printing num with width 3: 123456 Number of characters printed: 6>

Come possiamo vedere, anche se definiamo una larghezza inferiore ai caratteri presenti, tutti i caratteri verranno comunque stampati. Inoltre, abbiamo visto i due modi in cui possiamo definire la larghezza.

Esempio 3: printf con Precision Sub-Specifier

In questo esempio, dimostreremo il sottospecificatore di precisione nella funzione printf()

C




// C program to illustrate the use of precision> // sub-specifier> #include> int> main()> {> >int> num = 2451;> >float> dec = 12.45126;> >char>* str =>'techcodeview.com'>;> >// precision for integral data> >printf>(>'For integers: %.10d '>, num);> >// precision for numbers with decimal points> >printf>(>'For floats: %.2f '>, dec);> >// for strings> >printf>(>'For strings: %.5s'>, str);> >return> 0;> }>

>

>

Produzione

For integers: 0000002451 For floats: 12.45 For strings: Geeks>

Esempio 4: printf con sottospecificatore di lunghezza

C




// C program to illustrate the length modifier> #include> int> main()> {> >long> var = 3000000000;> >// printing var using %d> >printf>(>'Using %%d: %d'>, var);> >// printing var using %ld> >printf>(>' Using %%ld: %ld'>, var);> >return> 0;> }>

>

>

Produzione

Using %d: -1294967296 Using %ld: 3000000000>

Articoli Correlati: