A instrução printf é sua interface principal para enviar dados para saída padrão. Na maioria dos casos, o padrão é a tela. Você pode redirecioná-lo para um arquivo ou canalizá-lo para outro comando, mas para aprender C, você está olhando o texto em seu terminal.
Aqui está um programa básico para demonstrar como ele funciona.
Salve isto como add.c. Compile-o usando gcc add.c -o add. Execute-o digitando ./add.
A saída será: 5 + 7 = 12.
Vamos analisar o que realmente acontece nos bastidores.
Declaração e Atribuição de Variável
A linha int a, b, c; declara três variáveis inteiras. Os inteiros contêm números inteiros. Sem decimais.
A seguir, a = 5; inicializa a variável a com o valor 5.
Então b = 7; define b como 7.
A próxima linha é onde o operador de atribuição faz seu trabalho: c = a + b;.
O computador assume o valor em a (que é 5). Ele adiciona ao valor em b (que é 7). O resultado é 12. Em seguida, ele coloca esse novo valor na variável c.
c agora recebe o valor 12.
Como printf corresponde aos espaços reservados
A instrução printf imprime a linha “5 + 7 = 12”.
Observe a string de formato: "%d + %d = %d\n".
Os espaços reservados %d atuam como slots para valores. Existem três espaços reservados %d aqui. No final da linha printf, você vê os três nomes de variáveis: a, b e c.
C combina-os em ordem.
O primeiro %d corresponde a a. Ele substitui 5.
O segundo %d corresponde a b. Ele substitui 7.
O terceiro %d corresponde a c. Ele substitui 12.
Os sinais de mais, o sinal de igual e os espaços fazem parte da própria string de formato. Eles são incorporados automaticamente entre os operadores %d exatamente como você os especificou no código.
O resultado? Uma linha limpa de texto na tela.
Por que isso importa? Porque a formatação da saída é como você depura. Como saber se sua lógica está funcionando se você não consegue ver os números? printf diz a você.
Mas não se trata apenas de impressão. É uma questão de controle. Você decide o que o usuário vê. Você decide como os dados são apresentados.
O \n no final? Essa é uma nova linha. Sem ele, sua próxima saída pode ser direta a esta.
Parece simples. É simples. Mas é a base. Todo o resto se baseia nisso.
Você pode redirecionar esta saída. Você pode formatar valores flutuantes, strings e valores hexadecimais. Mas você começa aqui























