Sharán
¿Cuál es el significado de “f” en el printf de C?
los f
en printf
representa formateadose utiliza para imprimir con salida formateada.
-
Gracias… Así que si escribo solo imprimir, funcionará…
– Sharán
25 mayo 2012 a las 21:44
-
@Sharan Chandran: No hay
print
función en la biblioteca estándar de C.– K-ballo
25 mayo 2012 a las 21:46
-
@SharanChandran La versión sin formato se acaba de llamar
puts
.– Chris Arroz
25 mayo 2012 a las 23:09
Como otros han señalado, el arrastrando f
indica salida formateada (o entrada formateada para funciones en el scanf
familia).
Sin embargo, agregaré que la distinción es importante porque es importante que las personas que llaman sepan que se espera que la cadena tenga una semántica de especificador de formato. Por ejemplo, no hagas esto:
char* s = get_some_user_input();
printf(s); // WRONG. Instead use: printf("%s", s) or fputs(stdout, s)
Si s
pasa a contener %
caracteres, imprimiéndolo directamente con printf
puede hacer que acceda a argumentos inexistentes, lo que lleva a un comportamiento indefinido (y esta es la causa de algunas vulnerabilidades de seguridad). Tenga en cuenta esta convención de nomenclatura si alguna vez define su propia printf
-como funciones variádicas.
Si no me equivoco, printf significa “Imprimir datos formateados en la salida estándar”.
-
Simplemente “imprimir formato” —
stdout
simplemente se da por sentado siempre que no especifique lo contrario confprintf
.– Jerry Ataúd
25 mayo 2012 a las 21:52
Felipe Schmidt
printf permite formatear, mientras que print no. Además, print no existe en C. Ni siquiera sé qué es printg.
Acabo de empezar a aprender a programar en C… Pido disculpas si esta pregunta es tonta…
– Sharán
25 mayo 2012 a las 21:47
¿Qué es vago o ambiguo acerca de la pregunta? ¿Cómo no es razonablemente responsable? Ciertamente hay respuestas razonables. (También parece divertido que K-ballo fuera una de las personas que cerró esto a pesar de tener la respuesta aceptada).
– jamesdlin
26 de mayo de 2012 a las 2:36
Es una pregunta real, pero que podría buscarse rápidamente en Google (como muchas otras preguntas): google.com/… por lo tanto, está duplicado, así que voto para cerrar, pero por una razón diferente.
– Ofer Zelig
16 de diciembre de 2018 a las 5:29
La capacidad de Google no debe ser la base para cerrar una pregunta. Google indexa StackOverflow; por lo tanto, todas las preguntas y respuestas sobre SO se pueden buscar implícitamente en Google.
– jamesdlin
1 abr 2019 a las 20:52