return0

jigi1390

New Member
چرا در c++ ازreturn0 استفاده میکنیم؟ومهمتر اینکه به جای 0 چرا1یا 2 یا هر عدد دیگری نمیگذاریم؟:-?
 

the_king

مدیرکل انجمن
چرا در c++ ازreturn0 استفاده میکنیم؟ومهمتر اینکه به جای 0 چرا1یا 2 یا هر عدد دیگری نمیگذاریم؟:-?

اگر تابع main بصورت void تعریف بشه نیازی به return نیست، اما void main جزو موارد غیر اسناندارد زبان ++C است.
در اغلب کامپایلر ها تابع ()main با تعریف های مختلفی ارائه میشه، و بصورت ()void main هم قابل استفاده است
اما void main استاندارد نیست، یعنی بعضی کامپایلر ها از شما انتظار دارند که بصورت int main تعریف اش کنید
و یک مقداری رو از تابع main برگردانید. به همین جهت در شیوه اصولی برنامه نویسی باید از int main و یک مقداری
که return می کنید استفاده بشه.

مقدار عددی ای که بر می گردانید برای کامپایلر ++C یا سیستم عاملی که اجرایش می کند مهم نیست اما
اصولا شما کدی را از برنامه بر می گردانید که شماره خطایی است که در حین اجرا برنامه اتفاق افتاده یعنی Error Level
این مقدار کاربرد مهمی داره، به شرطی که کسی بخواهد از این مقدار استفاده کنه.

اگر شما عبارت ERRORLEVEL رو در اینترنت یا فایل های bat داخل سیستم عامل جستجو کنید، به فایل های bat
زیادی می رسید که از مقدار عددی ای که برنامه بر می گردونه تشخیص می دهند که عملیات مورد نظر
درست انجام شده یا خیر. مقدار 0 برای حالتی بکار میره که خطایی رخ نداده. مثلا دستور FIND در سیستم عامل
اگر موردی رو جستجو کنه و مورد پیدا نشه مقدار 1 رو بر می گردونه.

کد:
IF ERRORLEVEL 0 GOTO label_find
IF ERRORLEVEL 1 GOTO label_not_found

مجبور نیستید که از مقدار 0 استفاده کنید، اما شیوه رایج اینطوری است که اگر برنامه به سلامت و بدون مشکل
خاتمه پیدا می کنه این مساله را با عدد 0 اعلام کنید.
 

jigi1390

New Member
ذوست عزیز ممنونم فقط یک سوال یعنی اگر در اخر تابع int main از5 return هم استفاده کنیم باز تابع درست اجرا میشه؟؟؟
 

turtel

Member
سوال

ذوست عزیز ممنونم فقط یک سوال یعنی اگر در اخر تابع int main از5 return هم استفاده کنیم باز تابع درست اجرا میشه؟؟؟




سلام می کنم به دوست عزیزم ببین دلیل اینکه return می گذاریم جناب the_king فرمودند به دلیل اینکه اگه تابع مقداری را برنگرداندvoid باشه ما از return استفاده نمی کنیم . ولی اگر تابع از نوع intو .....باشه حتما باید return را به کار برد .شما سوالی را چند بار تکرار کردید که چرا به جای صفر 5 نمی گذارند .خوب این بر می گردد به دستور زبان سی که سال ها وقت می برد که یادش بگیرید .شما سطحی نگر باشید واگرنه به جایی نمی رسید !!!!@!!!!
 

jigi1390

New Member
سلام دوست گرامی ار پاسخت ممنونم اما بانظرت مخالفم بنظر من هر چیزی دلیلی و برای هر سوالی جوابی وجود داره این ماییم که چون جواب نمیدونیم صورت مسئله رو پاک میکنیم!!!!!!!!:sad:
 

jigi1390

New Member
مهندسین عزیز کسی سایت یا کتابی در مورد سوال من میشناسه ؟؟؟(خیلی فوری)

 

the_king

مدیرکل انجمن
ذوست عزیز ممنونم فقط یک سوال یعنی اگر در اخر تابع int main از5 return هم استفاده کنیم باز تابع درست اجرا میشه؟؟؟

عرض کردم خدمت تون، فرقی نمی کنه. وقتی شما دستور return رو در main اجرا می کنید اجرای برنامه تون
خاتمه پیدا می کنه، هر عددی که برگردانید تاثیری روی اجرای خود برنامه تون نداره. اصولا با اون عدد به سایر
برنامه ها که ممکنه بخواهند از برنامه تون استفاده کنند کمک می کنید که از نتیجه اجرای برنامه تون مطلع شوند.
یعنی سایر برنامه بفهمند که اجرای برنامه شما بدون مشکل تموم شده یا به علت خطا متوقف شده.

حالا اگر قصد راهنمایی کردن اون برنامه ها رو داشته باشید از 0 برای اجرای طبیعی و درست و از سایر اعداد
برای وضعیت های خطا استفاده خواهید کرد. اگر هم قصد راهنمایی کردن نداشته باشید که هر عددی که دلتان خواست
برگردانید، نه سیستم عامل اهمیتی می دهد که شما چه مقداری برگردانید و نه تاثیری روی خود برنامه شما دارد.
 

جدیدترین ارسال ها

بالا