Working of getchar and putchar or example in The C language 2nd Edition -


कोड 1:

  #include & lt; stdio.h & gt; Int main () {int c; जबकि ((सी = getchar ())! = EOF) पुच्चर (सी); वापसी 0; }   

कोड 2:

  # शामिल हैं & lt; stdio.h & gt; मुख्य () {int c, d; c = getchar (); d = getchar (); putchar (ग); putchar (घ); }   

1) यदि इनपुट: बो आउपुट: बो मुझे दूसरे प्रोग्राम में यह पता चल गया है कि यह चर में सी और डी में दोनों स्टोर करता है लेकिन यह उन्हें पहले कार्यक्रम में कहां रखता है। <पी> 2) पीएल पहले प्रोग्राम के काम की व्याख्या करते हैं कि क्यों यह किसी भी शब्द को अपनी लंबाई के बावजूद दोहराता है जो कि एक से अधिक वर्ण है।

3) पुस्तक से मुझे यह पता चल गया कि जब भी मैं प्रवेश करता हूं या कोई त्रुटि होती है यहां तक ​​कि अगर मैं प्रेस दर्ज करता हूँ तो यह प्रोग्राम बंद नहीं होता है लेकिन यह फिर से अगले अक्षर को प्रिंट करता है।

, यह उन को c में संग्रहीत करता है (लेकिन केवल एक समय में)। कोड, बेहतर इंडेंट, है:

  जबकि ((c = getchar ())! = EOF) पुच्चर (सी);   

ताकि आप प्रत्येक चरित्र इनपुट को c में देख सकते हैं, यह भी उतना ही आउटपुट करता है ध्यान रखें कि सिंटैक्स निम्न के लिए छोटा रूप है:

  c = getchar (); जबकि (सी! = ईओएफ) {पुच्चर (सी); C = getchar (); }   

ताकि आप लूप के प्रत्येक पुनरावृत्ति को अगले अक्षर प्राप्त कर सकें।


दूसरा सवाल, मुझे लगता है कि आप पूछ रहे हैं कि यह क्यों काम करता है किसी भी लम्बाई इनपुट क्योंकि यह लंबाई की परवाह नहीं करता है यह बस प्रत्येक व्यक्ति के चरित्र को भंडारण और गूंजता है।

यदि आप चाहें तो उसे एक अरब वर्ण दे सकते हैं।


तीसरे के रूप में, आपको किसी त्रुटि के लिए ईओएफ वापस मिल जाता है या फ़ाइल का अंत (Windows के लिए एक पंक्ति की शुरुआत में CTRL-Z, आमतौर पर CTRL-D के तहत UNIX- जैसी ऑपरेटिंग सिस्टम, जब तक कि आपके पास कुछ अजीब टर्मिनल विशेषताओं की स्थापना न हो )।

यदि आप केवल लाइन में रुचि रखते हैं, तो आप कुछ ऐसा प्रयोग कर सकते हैं:

  जबकि ((c = getchar ()) ! = '\ N') पटचर (सी); पुच्चर ('\ n');    

Comments

Popular posts from this blog

c++ - why does this code produce a runtime error? -

java - Can Find the error -

maximum size of array in c -