समस्या
C भाषा में इंट और फ्लोट वेरिएबल्स को इनिशियलाइज़ किए बिना डिक्लेयर करें और उनके मान प्रिंट करने का प्रयास करें। बताएं कि क्या होगा।
समाधान
यदि कोई वेरिएबल डिक्लेयर किया गया है लेकिन इनिशियलाइज़ नहीं किया गया है और उन वेरिएबल्स को प्रिंट करने का प्रयास किया जाता है, तो यह 0 या कोई गार्बेज मान लौटाएगा।
जब भी हम कोई वेरिएबल डिक्लेयर करते हैं, तो उस वेरिएबल के लिए एक लोकेशन अलॉट की जाती है। केवल एक चीज है कि इनिशियलाइज़ेशन की मदद से, हम उस मेमोरी लोकेशन पर कब्जा करने का प्रयास कर रहे हैं जो डिक्लेरेशन के दौरान पहले ही अलॉट हो चुकी है।
लेकिन नीचे दिए गए प्रोग्राम में, हम उन मेमोरी लोकेशन्स में मान इनिशियलाइज़ नहीं कर रहे हैं जो रिजर्व हैं। लेकिन, डिफ़ॉल्ट रूप से, लोकेशन्स 0 या गार्बेज मानों से भरी होती हैं। जब हम इसे प्रिंट करने का प्रयास करते हैं तो यह आउटपुट के रूप में 0 या गार्बेज मान प्रदर्शित करता है।
उदाहरण
इंट और फ्लोट में वेरिएबल्स एक्सेस करने के लिए निम्न C प्रोग्राम है:
#include <stdio.h>
int main() {
float a, b, c;
int x, y, z;
printf("a का मान: %f\n", a);
printf("b का मान: %f\n", b);
printf("c का मान: %f\n", c);
printf("x का मान: %d\n", x);
printf("y का मान: %d\n", y);
printf("z का मान: %d", z);
return 0;
}
आउटपुट
जब उपरोक्त प्रोग्राम निष्पादित होता है, तो यह निम्न परिणाम उत्पन्न करता है:
a का मान: 0.000000 b का मान: 0.000000 c का मान: 0.000000 x का मान: 1512368 y का मान: 0 z का मान: 27