Acabo de encontrar un código que usa puntos y comas excesivamente, o uso el punto y coma para fines diferentes que no conozco.Punto y coma en los extremos de sentencias if y funciones en C
Encontré punto y coma al final de las sentencias if y al final de las funciones. Por ejemplo:
int main (int argc, char * argv[]) {
// some code
if (x == NULL) {
// some code
}; <-----
// more code
return 0;
}; <---
Está compilando con cc, no gcc. ¿Qué hacen esos puntos y comas? Supongo que no hay diferencia porque el compilador simplemente lo consideraría como una declaración vacía.
El punto y coma después del final de la función es completamente erróneo. Si 'cc' lo está aceptando, debe tratarlo como una especie de declaración global vacía, pero es completamente falso. El otro punto y coma se ha explicado bien. –
'gcc' advertirá sobre el punto y coma al final si usa el indicador '-pedantic'. 'cc' depende de su plataforma, pero a menudo es simplemente un enlace suave a 'gcc', por lo que es posible que desee probarlo o echar un vistazo a 'man cc'. –