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

Out of index C/C++ -

algorithm - Graph cut with python: How to set up the graph correctly? -

objective c - how Set autolayout for multiple dynamic buttons and labells in iOS? -