Printf() in c printing 0's for extra format specifiers -
# शामिल हैं & lt; stdio.h & gt; Int main () {int a, * b, ** c, *** d, **** e; एक = 10; ख = & amp; एक; c = एंड बी; d = & amp; सी; ई = & amp; घ; Printf ("\ ना =% d बी =% u सी =% u डी =% u ई =% u", ए, बी, सी, डी, ई); Printf ("\ n% d% d% d% d% d% d", a, a + * b, ** c + *** d + **** e); वापसी 0; } मैं इस पोस्ट को संपादित नहीं कर सका ... ऐसा करने के लिए सभी विकल्प मेरे ब्राउज़र में दिखाई नहीं दे रहे हैं। मुझे यह पूछने का मतलब है कि कंपाइलर ने मुझे चेतावनी क्यों नहीं दी और मुझे आउटपुट दे रहा है अतिरिक्त फॉर्मेट विनिर्देशकों के लिए 0 0 के रूप में।
आपको पांच रूपांतरण विशेषताओं लेकिन केवल तीन तर्क हैं?
सी मानक कहते हैं, 7.1 9.6.1/2 में यदि प्रारूप के लिए अपर्याप्त तर्क हैं, तो व्यवहार अपरिभाषित है।
आपके मामले में, कार्यक्रम शून्य को मुद्रित करने के लिए तैयार है मेरे मामले में, यह कुछ और मुद्रित हुआ।
प्रश्न के जवाब में "क्यों?" संपादित करें: ज्यादातर संकलक इस त्रुटि के बारे में चेतावनी देते हैं:
जीसीसी कहते हैं, चेतावनी: प्रारूप एक ????% दा ???? एक मिलान की उम्मीद है ???? आईसीसी कहता है चेतावनी # 267: प्रारूप स्ट्रिंग अतिरिक्त तर्कों की आवश्यकता है हालांकि, कोई आवश्यकता नहीं है कि उन्हें इसका निदान करना चाहिए। अपरिभाषित व्यवहार ऐसा ही है, अपरिभाषित कुछ भी हो सकता है।
Comments
Post a Comment