Tengo una muy tonta duda. Cuando estaba enseñando a mi amigo C-programa, me preguntó "¿por qué usamos printf, no puede ser printg o simplemente print". No pude responderle. Entonces, ¿hay realmente una razón para elegir printf en la programación C?C - ¿Por qué imprimir y no solo imprimir?
Respuesta
El f
en printf
significa con formato, se utiliza para imprimir con salida formateada.
Gracias ... Entonces, si escribo solo imprimir, ¿funcionará? – Sharan
@ Sharan Chandran: No hay función 'print' en la biblioteca estándar C. –
@SharanChandran La versión no formateada simplemente se llama 'puts'. –
printf permite el formateo, mientras que la impresión no lo hace. Además, la impresión no existe en C. Ni siquiera sé qué es printg.
No sé lo que 'print' es ... –
sí, acabo de recordar que no existe también :) Hace mucho tiempo que no he codificado nada en línea recta c –
Si no me equivoco, printf significa "Imprimir datos formateados en stdout".
Solo" imprimir en formato "- 'stdout' se da por supuesto siempre que no especifique lo contrario con' fprintf'. –
Como otros han señalado, la posteriorf
indica salida formateada (o entrada formateada para funciones en la familia scanf
).
Sin embargo, agregaré que la distinción importa 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 haga 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, imprimirla directamente con printf
puede hacer que se accede argumentos inexistentes, lo que lleva a un comportamiento indefinido (y esto es un motivo de cierta vulnerabilidades de seguridad). Mantenga esta convención de nombres en mente si alguna vez define sus propias funciones variadas de printf
.
- 1. Imprimir imágenes C# .net
- 2. Cómo imprimir en C
- 3. Imprimir factura C# Winforms
- 4. Imprimir: no produce salida
- 5. ¿Por qué el mapa (imprimir, una_lista) no funciona?
- 6. ¿Por qué no puedo decir imprimir $ somehash {$ var} {fh} "foo"?
- 7. ¿Por qué no se puede imprimir() en una expresión lambda?
- 8. Imprimir contenido DIV por JQuery
- 9. ¿Por qué printf no imprime solo un byte al imprimir hexadecimal?
- 10. bash: imprimir: comando no encontrado
- 11. ¿Qué es 'imprimir' en Python?
- 12. Imprimir solo un área de texto
- 13. ¿Cómo imprimir un solo elemento de matriz en Objective-C?
- 14. No puedo dejar de imprimir
- 15. Imprimir tablas C++ usando GDB
- 16. ¿Qué hacer para imprimir 100?
- 17. ¿Imprimir matriz en objetivo-c?
- 18. No repita TFOOT al imprimir
- 19. C++: ¿Por qué no puedo imprimir un const char * con sprintf?
- 20. Imprimir parte de una cadena en C
- 21. Imprimir y ejecutar una cadena
- 22. ¿Por qué tarda tanto en imprimir "\ n" en Perl?
- 23. No se puede imprimir gráficos ggplot pdf
- 24. Imprimir tabla de partición - Programa C
- 25. ¿Cómo imprimir columnas seleccionadas separadas por pestañas?
- 26. ¿Cómo imprimir directamente, sin Imprimir Diálogo en WPF?
- 27. ¿Por qué se imprime "imprimir" de derecha a izquierda?
- 28. qué puedo llamar 'imprimir' desde 'eval'
- 29. Imprimir en consola sin inundar en C++
- 30. cómo imprimir characterSet en el objetivo c?
Acabo de empezar a aprender la programación en C ... Me disculpo si esta pregunta es tonta ... – Sharan
No existe una pregunta estúpida. Espera, sí, hay. Pero este no es realmente un ejemplo de uno. –
¿Qué es vago o ambiguo sobre la pregunta? ¿Cómo no es razonablemente responsable? Ciertamente hay respuestas razonables. (También parece gracioso que K-ballo fue una de las personas que cerró esto a pesar de tener la respuesta aceptada). – jamesdlin