Como imprimir em C
#include <stdio.h>
int addNumbers(int a, int b)
{
int sum = a + b;
return sum;
}
int main(void)
{
int a = 4;
int b = 7;
printf(addNumbers(a,b));
return 0;
}
tenho a certeza que em java eu poderia apenas substituir o printf pelo sistema.e teria funcionado. Tentei procurar a resposta antes, mas se não sabes o que procurar, é difícil encontrar uma resposta.
3 answers
O primeiro argumento para printf()
é sempre um valor de cadeia de caracteres, conhecido como uma cadeia de controlo de formato. Este texto pode ser texto regular, como
printf("Hello, World\n"); // \n indicates a newline character
Ou
char greeting[] = "Hello, World\n";
printf(greeting);
Este texto também pode conter um ou mais especificadores de conversão ; estes especificadores de conversão indicam que foram passados argumentos adicionais a printf()
, e especificam como formatar esses argumentos para o resultado. Por exemplo, eu posso mudar o acima para
char greeting[] = "Hello, World";
printf("%s\n", greeting);
A conversão "% s" o specifier espera um ponteiro para uma cadeia de 0-terminados, e formata-o como texto.
Para o resultado decimal inteiro assinado, use tanto os especificadores de conversão "%d" ou "%i", como
printf("%d\n", addNumber(a,b));
Pode misturar texto regular com especificações de conversão, como por exemplo:
printf("The result of addNumber(%d, %d) is %d\n", a, b, addNumber(a,b));
Note que os especificadores de conversão na cadeia de controlo indicam os números e tipos de parâmetros adicionais. Se o número ou tipos de argumentos adicionais passaram para printf()
não corresponder aos especificadores de conversão no texto do formato, então o comportamento é indefinido. Por exemplo:
printf("The result of addNumber(%d, %d) is %d\n", addNumber(a,b));
Vai resultar em qualquer coisa, desde uma saída distorcida a uma queda total.
Existem várias bandeiras adicionais para os especificadores de conversão que controlam a largura do campo, precisão, estofamento, justificação e tipos. Verifique o seu manual de referência c útil para uma lista completa.
Para um programador Java, imagino que esta seja uma introdução bastante rude à falta de verificação do tipo de C. Acredita, esta é apenas a ponta do iceberg. É por isso que, embora eu aplauda o seu desejo de expandir seus horizontes aprendendo C, Eu altamente sugiro que você faça o que puder para evitar escrever programas reais nele.
(Isto vale para todos os outros que lêem isto também.)