printf - imprimir na tela
#include <stdio.h>
int printf(string formato, ...);
Observe que ...
representa zero ou mais argumentos adicionais.
Esta função imprime uma "string formatada" na tela. Ela espera como entrada uma "string de formato" que especifica o que imprimir e zero ou mais argumentos subsequentes. A string de formato pode opcionalmente conter "especificações de conversão", espaços reservados que começam com %
e especificam como formatar os argumentos subsequentes, se houver. Por exemplo, se c
for um char
, essa função pode imprimi-lo da seguinte maneira usando %c
:
printf("%c\n", c);
Alternativamente, essa função pode formatar o mesmo valor como um int
também usando %i
, como em uma tabela ASCII:
printf("%c %i\n", c, c);
E essa função também pode imprimir strings sem especificações de conversão:
printf("olá, mundo\n");
Entre as especificações de conversão suportadas por essa função estão:
Especificação de Conversão | Tipo |
---|---|
%c |
char |
%f |
double |
%f |
float |
%i |
int |
%li |
long |
%s |
string |
Para imprimir um sinal de porcentagem real, use %%
.
Para especificar a "precisão" de um float
ou double
, %f
pode opcionalmente conter um .
após o %
, seguido por um número de casas decimais. Por exemplo, essa função pode formatar o valor de um terço com uma casa decimal usando %.1f
:
printf("%.1f\n", 1.0 / 3.0);
Esta função retorna o número de caracteres impressos.
#include <cs50.h>
#include <stdio.h>
int main(void)
{
string s = "Isto é CS50";
printf("%s\n", s);
int i = 50;
printf("Isto é CS%i\n", i);
float f = 50.0;
printf("Isto é CS%.0f\n", f);
}