programacion - programa en c que lea un archivo txt
¿Por qué todos los archivos C escritos por mi profesor comienzan con un solo#en la primera línea? (3)
No hace nada
A partir del estándar ISO de C / C ++:
Una directiva de preprocesamiento del formulario
# new-line
no tiene efecto.
Entonces, en los compiladores de hoy, ese
hash vacío no hace nada
(como
new-line ;
no tiene funcionalidad).
PD
: En
C pre-estandarizado
,
# new-line
tuvo un papel importante, se usó para invocar el preprocesador C (como lo señaló @Bathsheba).
Entonces, el código aquí fue escrito dentro de ese período de tiempo o vino por hábito.
Estoy revisando algunas notas del curso C, y
cada
archivo fuente del programa C comienza con un solo
#
en la primera línea del programa.
Luego hay líneas en blanco, y luego otras cosas seguidas de la función
main
.
¿Cuál es la razón del
#
?
(Está fuera de plazo ahora y realmente no puedo preguntarle al muchacho).
Aquí hay un ejemplo:
#
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}
Necesita saber sobre el proceso de compilación de C. Porque eso es "debe saber" cómo el código fuente se convierte en código binario ejecutable (archivo).
Desde el proceso de compilación, el código fuente C debe cruzar la sección del preprocesador. Pero, ¿cómo decirle al compilador que preprocese el código? ... Que el símbolo # tiempo se introdujo en el indicador de preproceso al compilador.
Por ejemplo,
#define PI 3.141
está en el código fuente.
Luego se cambiará después de la sesión de preprocesamiento.
Significa que todo el PI se cambiará a 3.141.
Como
#include <stdio.h>
, las funciones de E / S estándar se agregarán a su código fuente.
Si tiene la máquina Linux, compile como
gcc -save-temps source_code.c
.
Y ver las salidas del compilador.
......bueno.....
Wow, este requisito se remonta a la década de 1970.
En los
primeros
días de la C previamente estandarizada, si quería invocar al
preprocesador
, tenía que escribir un
#
como lo primero en la primera línea de un archivo fuente.
Escribir
solo
un
#
en la parte superior del archivo brinda flexibilidad en la ubicación de las otras directivas de preprocesador.
De un borrador original en C del gran Dennis Ritchie :
12. Líneas de control del compilador
[...] Para que se invoque [el] preprocesador, es necesario que la primera línea del programa comience con #. Como las líneas nulas son ignoradas por el preprocesador, esta línea no necesita contener otra información.
Ese documento es una gran lectura (y me permitió saltar sobre esta pregunta como un gato loco).
Sospecho que es el profesor simplemente sentimental: no se ha requerido ciertamente desde ANSI C.