اگر بخواهیم کاراکتری به کمک تابع scanf یا تابع getchar خوانده شود، باید پس از تایپ کاراکتر مورد نظر، کلید Enter را نیز استفاده کنیم. یعنی، درواقع دو تابع مزبور تا موقعی که کلید برگشت (که به آن carriage return یا به اختصار CR گویند) فشرده نشود ورودی را در بافر نگه می‌دارند. پس از زدن کلید برگشت، داده تایپ شده در اختیار برنامه قرار می‌گیرد. حسن این روش آن است که اگر کلیدی را اشتباه وارد کرده باشیم، می‌توانیم آن را با backspace تصحیح کنیم. یعنی، قبلی را پاک کنیم و دوباره کاراکتر صحیح مورد نظر را تایپ کنیم. عیب این کار آن است که ‌این عمل در محیط محاوره‌ای امروز وقت‌گیر و دردسرزاست. ازاین رو تابع getche به‌وجود آمد که در آن دیگر نیازی به تحریر کلید برگشت یا CR نیست. اشکال این تابع آن است که اگر کاراکتر اشتباه تحریر شود امکان تصحیح وجود ندارد. همچنین کاراکتر تحریر شده، روی صفحه تصویر نمایش داده می‌شود که‌این عمل echoing نامیده می‌شود. در واقع حرف e در آخر نام تابع getche به مفهوم echo (عکس‌العمل) است.