Por que as instruções scanf () + printf () intercaladas resultam na execução de ambas as chamadas scanf () e depois nas chamadas printf ()?

Você pode explicar uma coisa no código a seguir:

#include<stdio.h>

int main()
{
    int n;char ch,ch1;
    scanf("%d\n",&n);
    printf("d-%d \n",n);

    scanf("\n%c",&ch);
    printf("ch-%d \n",ch);

    scanf("\n%c",&ch1);
    printf("ch1-%d \n",ch1);

    printf("%d %d %d\n",n,ch,ch1);
    return 0;
}

Por que depois de inserir o valor de n, ele solicita diretamente o valor de ch e depois executa diretamente as instruções para imprimir seus respectivos valores, ou seja, as instruções:

printf("d-%d \n",n);
printf("ch-%d \n",ch);

questionAnswers(2)

yourAnswerToTheQuestion