Uno (quizás teórico) razón no utilizar //
comentarios es que no están soportadas en C90. Es cierto que la mayoría, tal vez todos, los compiladores de C modernos admiten //
comentarios, incluso si no son compatibles con el resto de C99, pero los diferentes compiladores admiten diferentes subconjuntos de C99.
Cualquier compilador que admita C90 rechazará (o al menos advertirá) //
comentarios si lo invoca en un modo conforme a C90.
Si es un fanático de la portabilidad y desea asegurarse de que su código compila con cualquier compilador de C, entonces debe compilarlo en modo C90, lo que significa que //
comentarios serán rechazados. Usted puede habilitar extensiones o cumplimiento parcial (o incluso completo) C99, pero luego habilitará otras características C99 también - y su compilador no le advertirá acerca de otras características específicas de C99 que podría usar accidentalmente.
Y como señala el comentario de Andrew Grimm, algunos proyectos pueden tener estándares de codificación que requieren una u otra forma.
Por ejemplo, gcc admite los comentarios //
y long long
(así como una serie de otras características de C99); Habilitando //
comentarios en gcc se desactiva el diagnóstico para long long
.
Pero para la mayoría de los propósitos, esto probablemente no sea motivo suficiente para evitar //
comentarios. Puede escribir un código razonablemente portátil si conoce qué características son específicas de C99, qué compiladores admiten esas características y qué compiladores le interesan.
No programo en C, pero creo que algunos proyectos de código abierto (como la versión MRI del intérprete Ruby) solo permiten la primera. Si planea contribuir con ellos, también puede acostumbrarse a hacer sus preferencias. –