La función printf
¿Por qué debemos entender y dominar esta función primero? Porque la usaremos muchísimo durante el aprendizaje posterior de C, y sirve para imprimir contenido en la consola.
1 Función printf
Ya la usamos en el ejemplo anterior.
// Llamada a printf para imprimir cadena, \n significa salto de línea
printf("hello, world\n");
Lenguaje del código: Arduino (arduino)
printf() Función estándar de impresión de biblioteca
printf("contenido") le pasa una cadena como parámetro; imprime todos los caracteres entre las comillas dobles en la consola.
Toda instrucción debe terminar con punto y coma ;, marca el final de una sentencia. Olvidarlo causa error de compilación. Mira el siguiente mensaje de error:
C:\cdemo>gcc hello.c -o hello.exe
hello.c: In function 'main':
hello.c:5:29: error: expected ';' before 'return'
printf("hello, world\n")
^
;
return 0;
~~~~~~Lenguaje del código: PHP (php)
Si queremos imprimir texto en varias líneas, podemos escribir así:
#include <stdio.h>
main()
{
printf("Texto primera línea\n");
printf("Texto segunda línea\n");
}Lenguaje del código: PHP (php)
2 Cadena de caracteres
Secuencia de caracteres envuelta por comillas dobles en inglés " ", como "hello, world\n"
En los ejemplos anteriores, las cadenas se usaban como parámetro de printf para imprimirse directamente en la consola.
No se puede partir una cadena con salto de línea al escribir, el siguiente código dará error de compilación directamente:
// Ejemplo incorrecto: cadena dividida en dos líneas
printf("hello, world
");
Lenguaje del código: Arduino (arduino)
Salida del error de compilación
C:\cdemo>gcc hello.c -o hello.exe
hello.c: In function 'main':
hello.c:6:11: warning: missing terminating " character
printf("hello, world
^
hello.c:6:11: error: missing terminating " character
printf("hello, world
^~~~~~~~~~~~~
hello.c:7:4: warning: missing terminating " character
");
^
hello.c:7:4: error: missing terminating " character
");
^~~
hello.c:8:5: error: expected expression before 'return'
return 0;
^~~~~~
hello.c:8:14: error: expected ';' before '}' token
return 0;
^
;
}Lenguaje del código: PHP (php)
3 Carácter de escape \n salto de línea
\n es una marca exclusiva del lenguaje C que representa el carácter de salto de línea;
printf no salta línea automáticamente, hay que añadir manualmente \n para que el cursor pase a la fila siguiente;
Sin \n todo se mostrará en una sola línea, mira el ejemplo a continuación
#include <stdio.h>
int main()
{
// Sin \n: dos textos pegados en la misma línea
printf("hello");
printf("world");
// Con \n: salto automático tras imprimir
printf("\nhello\n");
printf("world\n");
return 0;
}Lenguaje del código: PHP (php)
C:\cdemo>gcc hello.c -o hello.exe
C:\cdemo>hello
helloworld
hello
world
C:\cdemo>Lenguaje del código: CSS (css)
hello y world se imprimen pegados en la misma línea. Por lo tanto, si usas printf y quieres saltar de línea, recuerda poner \n. Un \n equivale a pulsar Enter una vez; dos \n consecutivos suponen dos saltos de línea, dejando una línea vacía entre las cadenas, igual que pulsar Enter dos veces en el bloc de notas.
#include <stdio.h>
int main()
{
printf("one\n\n");
printf("two");
return 0;
}Lenguaje del código: PHP (php)
Resultado de ejecución
C:\cdemo>gcc hello.c -o hello.exe
C:\cdemo>hello
one
two
C:\cdemo>Lenguaje del código: CSS (css)
Impresión concatenada en varias partes: varios printf para formar una sola línea
Mira el ejemplo
#include <stdio.h>
int main()
{
printf("hello, ");
printf("world");
printf("\n"); // Salto de línea al final
}Lenguaje del código: PHP (php)

Complemento de errores frecuentes
#include <stdio.h>
La línea anterior importa el archivo de cabecera mediante preprocesador, no lleva punto y coma al final ;
Para usar la función printf hay que importar #include <stdio.h> o se producirá un error