पुराने C मानकों (C89/C90) में, यदि फंक्शन का रिटर्न टाइप निर्दिष्ट नहीं किया गया हो, तो यह डिफ़ॉल्ट रूप से int मान लिया जाता था।
उदाहरण
#include <stdio.h>
my_function(int x) { // कोई रिटर्न टाइप नहीं - डिफ़ॉल्ट int
return x * 2;
}
int main(void) {
printf("Value is: %d", my_function(10));
return 0;
}
आउटपुट
Value is: 20
महत्वपूर्ण परिवर्तन (C99 और बाद में)
- C99 मानक से: इम्प्लिसिट
intरिटर्न टाइप **अमान्य** है। रिटर्न टाइप स्पष्ट रूप से लिखना अनिवार्य है। - आधुनिक कंपाइलर्स (GCC, Clang, MSVC) डिफ़ॉल्ट रूप से इस पर वार्निंग या एरर देते हैं।
main()का रिटर्न टाइप हमेशाintहोना चाहिए।
सही आधुनिक कोड
#include <stdio.h>
int my_function(int x) { // स्पष्ट रिटर्न टाइप
return x * 2;
}
int main(void) {
printf("Value is: %d", my_function(10));
return 0;
}
सारांश
| मानक | इम्प्लिसिट int अनुमत? |
|---|---|
| C89/C90 | हाँ |
| C99, C11, C18, C23 | नहीं |
| C++ (सभी संस्करण) | नहीं |