c - getchar gives output in the wrong order -


प्रोग्राम को निम्न तरीके से आउटपुट देना चाहिए:

एक वर्ण डालें

जी

सफलतापूर्वक प्रवेश किया!

जी

  #include & lt; stdio.h & gt; Int main () {int c, d; Printf ("एक चरित्र दर्ज करें \ n"); C = getchar (); Printf ("सफलतापूर्वक प्रवेश किया! \ N"); putchar (ग); वापसी (0); }   

लेकिन जब इसे चलाया जाता है, तो यह उपयोगकर्ता के लिए पूछने से पहले इनपुट दर्ज करने की प्रतीक्षा करता है और फिर निम्न तरीके से प्रिंट करता है:

g

जी

आप getchar से पहले printf के बाद fllush डाल सकते हैं

  printf (" एक चरित्र दर्ज करें \ n "); fflush (stdout); C = getchar ();   

एफflush को आउटपुट स्ट्रीम पर कॉल किया जाना है। यह सी मानक से एक उद्धरण है:

  int fflush (FILE * ostream); ऑस्ट्रीम पॉइंट को आउटपुट स्ट्रीम या एक अपडेट स्ट्रीम में इंगित करता है जिसमें सबसे हालिया ऑपरेशन इनपुट नहीं था, फ़्लेमफ़िश फ़ंक्शन फ़ाइल को लिखे जाने के लिए मेजबान पर्यावरण को वितरित करने के लिए उस स्ट्रीम के किसी भी अलिखित डेटा का कारण बनता है; अन्यथा, व्यवहार अपरिभाषित है।    

Comments

Popular posts from this blog

java - ImportError: No module named py4j.java_gateway -

python - Receiving "KeyError" after decoding json result from url -

.net - Creating a new Queue Manager and Queue in Websphere MQ (using C#) -