El primer argumento para printf()
es siempre un valor de cadena, conocido como cadena de control de formato. Esta cadena puede ser texto regular, como
printf("Hello, World\n"); // \n indicates a newline character
o
char greeting[] = "Hello, World\n";
printf(greeting);
Esta cadena también puede contener uno o más especificadores de conversión; estos especificadores de conversión indican que se han pasado argumentos adicionales al printf()
, y especifican cómo formatear esos argumentos para el resultado. Por ejemplo, puedo cambiar lo anterior a
char greeting[] = "Hello, World";
printf("%s\n", greeting);
El "% s" indicador de conversión espera un puntero a una cadena terminada en 0, y formatos como texto.
Para la salida de número entero decimal firmado, utilice el "% d" o "% i" especificadores de conversión, tales como
printf("%d\n", addNumber(a,b));
Usted puede mezclar texto regular con especificadores de conversión, así:
printf("The result of addNumber(%d, %d) is %d\n", a, b, addNumber(a,b));
Tenga en cuenta que los especificadores de conversión en la cadena de control indican número y tipos de parámetros adicionales. Si el número o los tipos de argumentos adicionales pasados a printf()
no coinciden con los especificadores de conversión en la cadena de formato, entonces el comportamiento no está definido. Por ejemplo:
printf("The result of addNumber(%d, %d) is %d\n", addNumber(a,b));
resultará en cualquier cosa, desde una salida distorsionada a un bloqueo total.
Existen varios indicadores adicionales para los especificadores de conversión que controlan el ancho, la precisión, el relleno, la justificación y los tipos del campo. Consulte su práctico manual de referencia C para obtener una lista completa.
le pueden resultar muy útiles http://www.cppreference.com/wiki/, consulte la sección de la biblioteca estándar de C. –