क्या कोई मुझे अनजान करने का उद्देश्य समझा सकता है? यह के & आर अध्याय 4 से है जहां आप एक रिवर्स पोलिश कैलक्यूलेटर बनाते हैं।ungetc (या के एंड आर से ungetch) का उद्देश्य क्या है?
मैंने बिना किसी त्रुटि के प्रोग्राम चलाया है और मेरे परीक्षणों में यह अभी भी वही काम करता है।
int getch(void) /* get a (possibly pushed back) character */
{
if (bufp > 0)
{
return buf[--bufp];
}
else
{
return getchar();
}
}
void ungetch(int c) /* push character back on input */
{
if (bufp >= BUFSIZE)
{
printf("ungetch: too many characters\n");
}
else
{
buf[bufp++] = c;
}
}
(मैं यह स्पष्ट करने के getch में त्रिगुट ऑपरेटर हटा दिया है।)
बहुत बहुत धन्यवाद। अब यह बहुत अधिक समझ में आता है। – Tyler
हालांकि यह केवल अर्थशास्त्र हो सकता है, लेकिन ungetc आपको इसे पढ़ने के बाद एक चरित्र को "धक्का" देने की अनुमति देता है ताकि इसे अगली पढ़ने वाली कॉल द्वारा फिर से पढ़ा जा सके। यह peeking के समान नहीं है, जो खपत के बिना पढ़ने का तात्पर्य है। –
हां, peek getc के बराबर है ungetc के बाद। –