Cos'è la funzione printf e scanf in C

Cos'è la funzione printf e scanf in C
Domande per il colloquio
  • Cos'è la funzione printf() in C.
  • Cos'è la funzione scanf() in C.

Cos'è la funzione printf() in C

La funzione int printf(const char *format, ...); scrive una stringa formattata in stdout (dispositivo di output standard). Se format contiene identificatori di formato (sottosequenze che iniziano con %), gli argomenti aggiuntivi che seguono format vengono inseriti dopo la formattazione nella stringa risultante sostituendo i rispettivi identificatori di formato.
Prototipo di funzione di printf:

int printf(const char *format, ...);
formato :questa è una stringa con terminazione null contenente il testo da scrivere su stdout. Potrebbe contenere alcuni identificatori di formato incorporati.
argomenti aggiuntivi :questi argomenti sostituiranno il valore degli identificatori di formato nella stringa di output.
#include <stdio.h>

int main(){

    printf("Printing characters");
    printf("%c %c %c %c\n\n", 'a', 'A', '#', '1');
    
    printf("Printing integers");
    printf("%d %ld %10d %010d\n\n", 2015, 2015L, 2015, 2015);
    
    printf("Printing floating point numbers");
    printf("%f %5.2f %+.0e %E\n\n", 1.41412, 1.41412, 1.41412, 1.41412);
    
    printf("Printing string");
    printf("%s\n\n", "TechCrashCourse");
    
    return 0;
}

Uscita
Printing characters
a A # 1
Printing integers
2015 2015       2015 0000002015
Printing floating point numbers
1.414120  1.41 +1e+000 1.414120E+000
Printing string
TechCrashCourse

Cos'è la funzione scanf() in C

La funzione int scanf(const char *format, ...); legge i dati formattati da stdin (dispositivo di input standard) e li memorizza nelle variabili indicate dagli argomenti aggiuntivi. Argomenti aggiuntivi devono puntare a variabili dello stesso tipo specificato nel formato.

Prototipo di funzione di scanf

int scanf(const char *format, ...);
formato :questa è una stringa con terminazione nulla che contiene caratteri spazi vuoti, caratteri non spazi vuoti e identificatori di formato.
argomenti aggiuntivi :come per la stringa di formato, la funzione potrebbe aspettarsi una sequenza di argomenti aggiuntivi, ciascuno contenente un puntatore alla memoria allocata in cui verranno archiviati i dati letti da stdin.

Restituisce il valore di scanf
In caso di successo, la funzione scanf restituisce il numero totale di oggetti letti correttamente, può essere o meno uguale al numero previsto di elementi specificato nella stringa di formato.
#include <stdio.h>

int main(){
    int a, b, sum;
    printf("Enter to integers to add\n");
    /* Taking input from user using scanf */
    scanf("%d %d", &a, &b);
    sum = a + b;
    
    printf("%d + %d = %d", a, b, sum);

    return 0;
}

Uscita
Enter to integers to add
3 9
3 + 9 = 12