Las otras respuestas y comentarios señalan varias de las muchas formas en que esta es una pregunta horrible, engañosa y mal escrita. Pero hay otro problema que nadie más ha identificado todavía. La pregunta es:
No se necesita un punto y coma (';') después de una declaración de función. Verdadero o falso.
OK, veamos una declaración de función:
int func(); /* */
/* ^ */
/* | */
/* That whitespace is "after the function declaration". */
Todo eso es la declaración . La declaración no es int func()
y luego sigue a ;
. La declaración es int func();
y luego es seguida por espacios en blanco.
Entonces, la pregunta es: ¿se necesita un punto y coma después de la declaración ? Por supuesto no. La declaración ya tiene un punto y coma que la terminó. Un punto y coma después de la declaración no tendría sentido. Por el contrario, int func(); ;
sería un punto y coma después de una declaración de función .
La pregunta seguramente tenía la intención de hacer la pregunta "verdadero o falso: el último token en una declaración de función siempre es un punto y coma" Pero esa no es la pregunta que escribieron, porque el autor del cuestionario no estaba pensando claramente sobre el problema.
Mi consejo es evitar por completo las pruebas de lenguaje de programación. Son bastante horribles.
Dato curioso, mientras estamos en el tema. En C #, estos son todos legales:
class C {}
class D {};
struct E {}
struct F {};
En C #, una declaración de clase o estructura puede terminar en punto y coma, o no, a su discreción. Esta pequeña y extraña característica se agregó para beneficio de los programadores de C / C ++ que vienen a C # y que la tienen en la punta de los dedos y que las declaraciones de tipo terminan en un punto y coma sin sentido; El equipo de diseño no quería castigarlos por tener este hábito. :-)