में कृपया बताएं कि सी में निम्नलिखित स्निपेट एक वैध एकअस्पष्ट कोड सी
int main(c, v) char *v; int c;{
//program body
}
मैं अंतर्राष्ट्रीय अस्पष्ट सी कोड प्रतियोगिता से कुछ उदाहरण भर में ठोकर खाई है और मैं सिर्फ उत्सुक हूँ।
में कृपया बताएं कि सी में निम्नलिखित स्निपेट एक वैध एकअस्पष्ट कोड सी
int main(c, v) char *v; int c;{
//program body
}
मैं अंतर्राष्ट्रीय अस्पष्ट सी कोड प्रतियोगिता से कुछ उदाहरण भर में ठोकर खाई है और मैं सिर्फ उत्सुक हूँ।
यह K&R -स्टाइल फ़ंक्शन घोषणा है। Function declaration: K&R vs ANSI
हालांकि, मुझे विश्वास नहीं है कि main()
के लिए यह वैध हस्ताक्षर है, क्योंकि v
सही प्रकार का नहीं है। What are the valid signatures for C's main() function?
यह फ़ंक्शन घोषणा की पूर्व-एएनएसआई शैली है, यदि आप संदर्भ दे रहे हैं कि char * v; पूर्णांक; कोष्ठक के बाहर है।
यह "के & आर सी" है, जिसमें तर्क सूची के अंत और फ़ंक्शन के शरीर की शुरुआत के बीच फ़ंक्शन तर्क घोषित किए जाते हैं।
यह केवल K & आर-स्टाइल फ़ंक्शन परिभाषा है, हालांकि, "अप्रचलित" चिह्नित है, फिर भी मानक द्वारा अनुमति है। उस कोड में ठीक नहीं है कि पहला पैरामीटर मानक होने के लिए char **v
(या char *v[]
) होना चाहिए।
इस प्रश्न का संदर्भ लें: http://stackoverflow.com/questions/8869768/defining-the-functions-argument-type-after-the-is-it-a-very-old- मानक –