Introduzione:
Printf() E Scanf() sono funzioni di libreria integrate nel linguaggio C che eseguono input formattato E output formattato funzioni. Queste funzioni sono definite e dichiarate in File di intestazione stdio.h . IL 'F' In printf E scanf sta per 'formattato' . Quindi, entrambe le funzioni printf() E scanf() utilizzare i codici all'interno di una stringa di formato per specificare come formattare i valori di output o di input. Dobbiamo importare il file di intestazione da utilizzare printf() E scanf() :
#include
In questo articolo discuteremo della differenza tra printf() e scanf(), ma prima di discutere le differenze, dobbiamo conoscere printf() e scanf() con la sua sintassi ed esempi.
Printf():
Esso stampe qualsiasi cosa in mezzo virgolette con specificatori di formato %c, %d,%f, ecc., per mostrare il valore di una variabile o di una costante e può anche avere caratteri di sequenza di escape come , per nuova linea, E scheda orizzontale , rispettivamente.
algoritmo per rsa
Sintassi:
printf('(string) %format_specifier (string)',variable);
Scanf():
Ci permette di leggere uno o più valori inseriti dall'utente tramite la tastiera della console. Possiamo piazzarne altrettanti specificatori di formato tutti gli input che vogliamo con o senza formato.
Sintassi:
scanf(%format_specifier, &pointer_to_variable);
Stringa identificatore di formato:
Nel primo parametro di printf E scanf , noi passiamo stringa di formato O stringa dell'identificatore di formato e specifichiamo il tipo di valore che l'utente inserirà.
Tipo di dati | Conversione | stringa di formato |
---|---|---|
Numero intero | intero breve | %d o % i |
breve non firmato | % In | |
firmato da tempo | % ld | |
da tempo non firmato | % lu | |
esadecimale senza segno | % X | |
ottale senza segno | %O | |
Vero | galleggiante | % f o % g |
Doppio | %lf | |
carattere firmato | %C | |
carattere non firmato | %C | |
corda | %S |
Ad esempio, se un utente entra venti come input, come venti è un valore intero decimale , specifichiamo tutti i valori interi decimali in C utilizzando il Identificatore di formato %d . Allo stesso modo, valori float sono specificati utilizzando %F .
esportare gimp in formato jpg
Codice di base per Printf() e Scanf():
Esempio 1:
#include int main() { int a, b; int sum = 0, sub = 0, mul = 0; printf('Please enter the two values:'); /* Read input */ scanf('%d%d', &a, &b); sum = a+b; sub = a-b; mul = a*b; /* Print output */ printf('The sum = %d sub = %d mul = %d', sum, sub, mul); return 0; }
Produzione:
Please enter the two values:8 6 The sum = 14 sub = 2 mul = 48
Spiegazione:
Nel programma sopra, stiamo usando il file scanf() per leggere l'input dalla console e memorizzarli in variabili a&b. Successivamente, eseguiamo operazioni aritmetiche come aggiunta , sottrazione , E moltiplicazione e successivamente memorizzare i risultati nel file tre nuove variabili (Sum, Sub, Mul). Infine, utilizzando il file funzione printf() , stiamo stampando i risultati.
Esempio 2:-
#include int main() { int a; scanf('%d %d', &a); printf('Execution finished...'); return 0; }
Nel programma di cui sopra, scanf() legge due input dal programma anche se stiamo passando una variabile perché l'abbiamo specificata due identificatori di formato . Ricordalo sempre, In scanf()/printf() tutti i specificatori di formato che passiamo dovrebbe essere lo stesso, altrimenti potremmo riscontrare errori di runtime imprevisti.
Esempio 3:
int main() { int a, b; scanf('%d', &a, &b); printf('Execution finished...'); return 0; }
Produzione:
5 Execution finished...
Spiegazione:
Nel programma di cui sopra, scanf() legge solo un input dall'utente perché abbiamo specificato solo un identificatore di formato . Quindi da questo esempio concludiamo che nessuno degli input verrà preso a seconda del numero di specificatori di formato .
Esempio 4:
#include int main() { int a; scanf('%d', a); printf('Execution finished'); }
Produzione:
6 Segmentation fault
Spiegazione:
Nel programma sopra, stiamo passando il valore di una variabile a scanf() invece dell'indirizzo variabile. Porterà ad a errore in fase di esecuzione . In Linux, otterremo un errore di errore di segmentazione.
riga contro colonna
Esempio 5:
#include int main() { int a = 10; int b = 20; printf('the value of a = %d, the value of b = %d', a, b); }
Produzione:
the value of a = 10, the value of b = 20
Spiegazione:
Nel programma sopra, quando printf esegue la scansione della stringa di formato, sostituirà il file identificatori di formato (%d) con i valori effettivi a cui passiamo printf() . cioè, il primo identificatore di formato verrà sostituito dal primo valore che passiamo printf(), e così via.
Differenze di base tra Printf() e Scanf()
Alcune differenze tra printf e scanf sono: -