برنامه زیر تابعی را نشان میدهد که کاراکتری را از ورودی میخواند و اگر از حروف بزرگ باشد به حرف کوچک برمیگرداند. در غیر این صورت، خود کاراکتر دریافت شده برگردانده میشود.
char UptoLow (void)
{
char ch ;
ch = getchar() ;
if (ch > 64 && ch < 91)
return (ch + 32) ;
else
return (ch) ;
}
دستور return فقط در پایان تابع به کار نمیرود بلکه هر کجا در منطق برنامه لازم باشد به کار میرود. همان طور که ملاحظه میکنید در این تابع دو بار از دستور return استفاده شده، یکبار در انتهای تابع و یکبار هم در وسط برنامه. از طرفی میدانیم که کد اسکی حروف بزرگ از ۶۵ تا ۹۰ است (۶۵ برای A و ۹۰ برای Z) و کد اسکی حروف کوچک نیز از حروف همنام خود ۳۲ واحد بیشتر است. حال در این تابع پس از خواندن کاراکتر ورودی، ابتدا بررسی میشود که آیا کد اسکی حرف خوانده شده در فاصله باز ۶۵ تا ۹۱ است یا نه؟ درصورت مثبت بودن پاسخ مقدار ۳۲ واحد به کد اسکی آن حرف افزوده میگردد تا حرف مزبور به حرف کوچک همنام خود تبدیل شود و نتیجه به تابع فراخواننده آن برگردانده شود. در غیر این صورت، همان حرف بدون تغییر به تابع فراخواننده بازگردانده میشود