В інших відповідях та коментарях випливає кілька із багатьох способів, що це жахливе, оманливе і погано написане питання. Але є ще одна проблема, яку ще ніхто не визначив. Питання:
Точка з комою (';') після оголошення функції не потрібна. Правда чи неправда.
Добре, давайте розглянемо декларацію функції:
int func(); /* */
/* ^ */
/* | */
/* That whitespace is "after the function declaration". */
Вся ця річ - декларація . Декларація не є, int func()
а потім слідує a ;
. Після декларації йде int func();
пробіл.
Отже, питання: чи потрібна крапка з комою після декларування ? Звичайно, ні. У декларації вже є крапка з комою, яка припинила її. Точка з комою після декларації була б безглуздою. Навпаки, після оголошення функціїint func(); ;
буде крапка з комою .
Питання майже напевно мало на меті задати питання "правдивим чи неправдивим: останній маркер у оголошенні функції завжди є крапкою з комою", але це не те питання, яке вони написали, тому що автор вікторини чітко не замислювався над проблемою.
Моя порада взагалі уникати вікторин мови програмування. Вони досить жахливі.
Веселий факт, поки ми на тему. У C # це все законно:
class C {}
class D {};
struct E {}
struct F {};
У C # декларація класу чи структури може закінчуватися крапкою з комою або на ваш розсуд чи ні. Ця дивна маленька функція була додана на користь програмістів на C / C ++, які приїжджають до C #, які мають у своїх руках, що декларації типу закінчуються безглуздим крапкою з комою; команда дизайнерів не хотіла карати їх за звичку. :-)