अन्य उत्तर और टिप्पणियाँ कई तरह से बताते हैं कि यह एक भयावह, भ्रामक और बुरी तरह से लिखित प्रश्न है। लेकिन एक और समस्या है जिसकी पहचान अभी तक किसी और ने नहीं की है। प्रश्न है:
एक फ़ंक्शन घोषणा के बाद एक अर्धविराम (';') की आवश्यकता नहीं है। सही या गलत।
ठीक है, चलो एक फ़ंक्शन घोषणा देखें:
int func(); /* */
/* ^ */
/* | */
/* That whitespace is "after the function declaration". */
वह पूरी बात घोषणा है । घोषणा नहीं है int func()
और उसके बाद ए ;
। घोषणा है int func();
और उसके बाद व्हाट्सएप है।
तो, सवाल यह है कि क्या घोषणा के बाद अर्धविराम की जरूरत है ? बिलकूल नही। घोषणा में पहले से ही एक अर्धविराम है, जिसने इसे समाप्त कर दिया। घोषणा के बाद एक अर्धविराम व्यर्थ होगा। इसके विपरीत, एक फ़ंक्शन घोषणा के बाद एकint func(); ;
अर्धविराम होगा ।
सवाल लगभग निश्चित रूप से सवाल पूछने का था "सच या गलत: एक फ़ंक्शन घोषणा में अंतिम टोकन हमेशा एक अर्धविराम होता है" लेकिन यह सवाल वह नहीं है जो उन्होंने लिखा था, क्योंकि प्रश्नोत्तरी के लेखक समस्या के बारे में स्पष्ट रूप से नहीं सोच रहे थे।
मेरी सलाह है कि प्रोग्रामिंग लैंग्वेज क्विज़ से पूरी तरह बचें। वे बहुत भयानक हैं।
मजेदार तथ्य, जबकि हम इस विषय पर हैं। C # में, ये सभी कानूनी हैं:
class C {}
class D {};
struct E {}
struct F {};
सी # में, एक वर्ग या संरचना की घोषणा अर्धविराम में समाप्त हो सकती है, या आपके विवेक पर नहीं। C # में आने वाले C / C ++ प्रोग्रामर के लाभ के लिए यह अजीब सा फीचर जोड़ा गया था, जिनके पास अपनी उंगलियों में यह है कि प्रकार एक निरर्थक अर्धविराम में घोषणाएं समाप्त होती हैं; डिजाइन टीम उन्हें इस आदत के लिए दंडित नहीं करना चाहती थी। :-)