Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

C . में int main और int main(void) फंक्शन के बीच अंतर करें

इंट मेन यह दर्शाता है कि फ़ंक्शन प्रोग्राम निष्पादन के अंत में कुछ पूर्णांक '0' भी लौटाता है। '0' प्रोग्राम के सफल निष्पादन को दर्शाता है।

इंट मेन का सिंटैक्स इस प्रकार है -

int main(){
   ---
   ---
   return 0;
}

इंट मेन(शून्य) यह दर्शाता है कि फ़ंक्शन कोई तर्क नहीं लेता है। मान लीजिए, यदि हम कोष्ठक में शून्य नहीं रखते हैं, तो फ़ंक्शन कितने भी तर्क लेगा।

int main(void) का सिंटैक्स इस प्रकार है -

int main(void){
   ---
   ---
   return 0;
}

दरअसल, दोनों एक जैसे लगते हैं लेकिन, int main(void) तकनीकी रूप से बेहतर है क्योंकि इसमें स्पष्ट रूप से उल्लेख किया गया है कि main को बिना किसी पैरामीटर के ही कॉल किया जा सकता है।

आम तौर पर, सी भाषा में, यदि कोई फ़ंक्शन हस्ताक्षर किसी भी तर्क को निर्दिष्ट नहीं करता है, तो फ़ंक्शन को किसी भी पैरामीटर के साथ या बिना किसी पैरामीटर के कॉल किया जा सकता है।

आइए दोनों कार्यों के लिए कोड को लागू करने के लिए समान तर्क लें। इन कार्यों के लिए केवल सिंटैक्स का अंतर है।

उदाहरण 1

बिना तर्क के int main() फंक्शन के लिए C प्रोग्राम नीचे दिया गया है -

#include <stdio.h>
int main(){
   static int a = 10;
   if (a--){
      printf("after decrement a =%d\n", a);
      main(10);
   }
   return 0;
}

आउटपुट

जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

after decrement a =9
after decrement a =8
after decrement a =7
after decrement a =6
after decrement a =5
after decrement a =4
after decrement a =3
after decrement a =2
after decrement a =1
after decrement a =0

उदाहरण 2

नीचे दिया गया एक ही प्रोग्राम है लेकिन int main(void) फंक्शन के साथ -

#include <stdio.h>
int main(){
   static int a = 10;
   if (a--){
      printf("after decrement a =%d\n", a);
      main(10);
   }
   return 0;
}

आउटपुट

जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

error

अगर हम int main() और int main(void) के लिए एक ही कोड लिखते हैं तो हमें एक एरर मिलेगी। ऐसा इसलिए होता है क्योंकि शून्य इंगित करता है कि फ़ंक्शन कोई पैरामीटर नहीं लेता है।

तो, उपरोक्त उदाहरण में मुख्य रूप से तर्क 10 को हटाने का प्रयास करें और संकलित करें। इसलिए, संशोधन के बाद उपरोक्त कोड इस प्रकार होगा -

उदाहरण

#include <stdio.h>
int main(){
   static int a = 10;
   if (a--){
      printf("after decrement a =%d\n", a);
      main();
   }
   return 0;
}

आउटपुट

जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -

after decrement a =9
after decrement a =8
after decrement a =7
after decrement a =6
after decrement a =5
after decrement a =4
after decrement a =3
after decrement a =2
after decrement a =1
after decrement a =0

  1. सी # में विधि और कार्य के बीच अंतर

    C# में तरीके और कार्य समान हैं। हालाँकि, विधियों का उपयोग C# में किया जाता है और वे कार्य होते हैं जो एक निर्दिष्ट वर्ग के माध्यम से संचालित होते हैं। एक विधि बयानों का एक समूह है जो एक साथ एक कार्य करता है। प्रत्येक C# प्रोग्राम में मुख्य नाम की विधि के साथ कम से कम एक वर्ग होता है। निम्नलिखित एक

  1. C# में सार्वजनिक, स्थिर और शून्य कीवर्ड में क्या अंतर है?

    ये सभी कीवर्ड किसी भी C# प्रोग्राम की मुख्य विधि का हिस्सा हैं। मुख्य विधि, जो सभी C# प्रोग्रामों के लिए प्रवेश बिंदु है, यह बताती है कि जब एक वर्ग इसे क्रियान्वित करता है तो वह क्या करता है। using System; class Demo {    static void Main(string[] args) {       Console.Writ

  1. पायथन में विधि और कार्य के बीच अंतर

    फ़ंक्शन एक फ़ंक्शन किसी विशिष्ट कार्य को करने के लिए कोड का एक ब्लॉक होता है, जिसमें इसका अपना दायरा होता है और इसे नाम से बुलाया जाता है। सभी फ़ंक्शंस में शून्य (नहीं) तर्क या एक से अधिक तर्क हो सकते हैं। बाहर निकलने पर, कोई फ़ंक्शन एक या अधिक मान लौटा सकता है या नहीं। बेसिक फंक्शन सिंटैक्स def fu