Função de biblioteca C - printf ()
Descrição
A função da biblioteca C int printf(const char *format, ...) envia saída formatada para stdout.
Declaração
A seguir está a declaração da função printf ().
int printf(const char *format, ...)
Parâmetros
format- Esta é a string que contém o texto a ser gravado no stdout. Ele pode conter opcionalmente tags de formato incorporadas que são substituídas pelos valores especificados em argumentos adicionais subsequentes e formatadas conforme solicitado. O protótipo de tags de formato é%[flags][width][.precision][length]specifier, que é explicado abaixo -
Sr. Não. | Especificador e saída |
---|---|
1 | c Personagem |
2 | d or i Inteiro decimal assinado |
3 | e Notação científica (mantissa / expoente) usando o caractere e |
4 | E Notação científica (mantissa / expoente) usando o caractere E |
5 | f Ponto flutuante decimal |
6 | g Usa o mais curto de% e ou% f |
7 | G Usa o menor de% E ou% f |
8 | o Octal assinado |
9 | s Seqüência de caracteres |
10 | u Inteiro decimal sem sinal |
11 | x Inteiro hexadecimal sem sinal |
12 | X Inteiro hexadecimal sem sinal (letras maiúsculas) |
13 | p Endereço do ponteiro |
14 | n Nada impresso |
15 | % Personagem |
Sr. Não. | Sinalizadores e descrição |
---|---|
1 | - Justificar à esquerda dentro da largura de campo fornecida; A justificação à direita é o padrão (consulte o subespecificador de largura). |
2 | + Força a preceder o resultado com um sinal de mais ou menos (+ ou -), mesmo para números positivos. Por padrão, apenas números negativos são precedidos por um sinal -ve. |
3 | (space) Se nenhum sinal for escrito, um espaço em branco é inserido antes do valor. |
4 | # Usado com especificadores o, x ou X, o valor é precedido por 0, 0x ou 0X respectivamente para valores diferentes de zero. Usado com e, E e f, força a saída escrita a conter uma vírgula decimal, mesmo que nenhum dígito seja seguido. Por padrão, se nenhum dígito seguir, nenhum ponto decimal é escrito. Usado com g ou G, o resultado é o mesmo que com e ou E, mas os zeros finais não são removidos. |
5 | 0 Insere o número à esquerda com zeros (0) em vez de espaços, onde o preenchimento é especificado (consulte o subespecificador de largura). |
Sr. Não. | Largura e Descrição |
---|---|
1 | (number) Número mínimo de caracteres a serem impressos. Se o valor a ser impresso for menor que esse número, o resultado será preenchido com espaços em branco. O valor não é truncado, mesmo se o resultado for maior. |
2 | * A largura não é especificada na string de formato, mas como um argumento de valor inteiro adicional precedendo o argumento que deve ser formatado. |
Sr. Não. | .precisão e descrição |
---|---|
1 | .number Para especificadores de inteiros (d, i, o, u, x, X) - a precisão especifica o número mínimo de dígitos a serem escritos. Se o valor a ser escrito for menor que este número, o resultado será preenchido com zeros à esquerda. O valor não é truncado, mesmo se o resultado for mais longo. Uma precisão de 0 significa que nenhum caractere é escrito para o valor 0. Para especificadores e, E e f - este é o número de dígitos a serem impressos após o ponto decimal. Para especificadores ge G - Este é o número máximo de dígitos significativos a serem impressos. Para s - este é o número máximo de caracteres a serem impressos. Por padrão, todos os caracteres são impressos até que o caractere nulo final seja encontrado. Para tipo c - não tem efeito. Quando nenhuma precisão é especificada, o padrão é 1. Se o período for especificado sem um valor explícito para a precisão, 0 é assumido. |
2 | .* A precisão não é especificada na string de formato, mas como um argumento de valor inteiro adicional precedendo o argumento que deve ser formatado. |
Sr. Não. | Comprimento e descrição |
---|---|
1 | h O argumento é interpretado como um int curto ou int curto sem sinal (aplica-se apenas a especificadores de inteiro: i, d, o, u, x e X). |
2 | l O argumento é interpretado como um int longo ou um int longo sem sinal para especificadores de inteiro (i, d, o, u, x e X) e como um caractere largo ou string de caracteres largos para os especificadores c e s. |
3 | L O argumento é interpretado como um duplo longo (aplica-se apenas a especificadores de ponto flutuante: e, E, f, ge G). |
additional arguments- Dependendo da string de formato, a função pode esperar uma sequência de argumentos adicionais, cada um contendo um valor a ser inserido em vez de cada% -tag especificada no parâmetro de formato (se houver). Deve haver o mesmo número desses argumentos que o número de% -tags que esperam um valor.
Valor de retorno
Se for bem-sucedido, o número total de caracteres escritos é retornado. Em caso de falha, um número negativo é retornado.
Exemplo
O exemplo a seguir mostra o uso da função printf ().
#include <stdio.h>
int main () {
int ch;
for( ch = 75 ; ch <= 100; ch++ ) {
printf("ASCII value = %d, Character = %c\n", ch , ch );
}
return(0);
}
Vamos compilar e executar o programa acima para produzir o seguinte resultado -
ASCII value = 75, Character = K
ASCII value = 76, Character = L
ASCII value = 77, Character = M
ASCII value = 78, Character = N
ASCII value = 79, Character = O
ASCII value = 80, Character = P
ASCII value = 81, Character = Q
ASCII value = 82, Character = R
ASCII value = 83, Character = S
ASCII value = 84, Character = T
ASCII value = 85, Character = U
ASCII value = 86, Character = V
ASCII value = 87, Character = W
ASCII value = 88, Character = X
ASCII value = 89, Character = Y
ASCII value = 90, Character = Z
ASCII value = 91, Character = [
ASCII value = 92, Character = \
ASCII value = 93, Character = ]
ASCII value = 94, Character = ^
ASCII value = 95, Character = _
ASCII value = 96, Character = `
ASCII value = 97, Character = a
ASCII value = 98, Character = b
ASCII value = 99, Character = c
ASCII value = 100, Character = d