برای خروج از تابع از دستور return استفاده میشود. اگر نیاز باشد که تابع مقداری را برگرداند دستور return دارای آرگومان خواهد بود که اول مقدار آرگومان آن به نام تابع اختصاص مییابد، سپس کنترل از تابع فرعی (تابع فراخوانده شده) به تابع اصلی (تابع فراخواننده آن) برمیگردد.
در صورتی که تابع مقداری را برنگرداند و نقش آن فقط انجام عمل خاصی باشد، دستور return آرگومان نخواهد داشت و نقش آن فقط خروج از تابع و انتقال کنترل به تابع فراخواننده آن خواهد بود.
مثال قطعه برنامه زیر تابع فرعی F1 را نشان میدهد که مقداری را به تابع اصلی (برنامه فراخواننده) آن برمیگرداند. در اینجا مقدار x که برابر ۵ است به تابع اصلی برگردانده میشود و در آنجا به متغیر a اختصاص مییابد و سپس با دستور printf مقدار ۵ در خروجی چاپ میشود.
دستور return تنها میتواند شامل یک عبارت باشد. یعنی میتواند فقط یک مقدار را به تابع فراخواننده آن برگرداند. چنانچه نیاز باشد که بیش از یک مقدار به تابع فراخواننده بازگردانده شود، باید از اشارهگرها استفاده کرد.
تعریف تابع شامل چند دستور return است که هر کدام یک عبارت متفاوت دارند. توابعی که دارای انشعابهای چندگانهاند اغلب به چند return احتیاج پیدا میکنند.