PDA

View Full Version : نحوه کار RETURN ها در یک برنامه-فوری



FM.ALPACHINO
سه شنبه 23 شهریور 1389, 11:38 صبح
سلام دوستان
من یه برنامه دارم که در اون یه تابع فراخوانی میشه تا نتیجه اون رو به نمایش بگذاره. نوع برگشتی BOOL است. در تابع چند تا RETURN انجام می گیره. سوالم اینه که با وجود اینکه در هر قسمت ممکنه یه TRUE یا FALSE برگرده برگشتی نهایی چه خواهد بود :
مطمئناً همه شرطها تا زمانی که break نداریم باید اجرا بشن.درسته؟

private bool myapp(int x, int y)
{)
IF(X==Y)
return true;
// d, s is variable
if (d != s)
return false;
}

mmd2009
سه شنبه 23 شهریور 1389, 11:58 صبح
در هر قسمت امکان دوتا خروجی نیست. وقتی شما داری میگی Return یعنی بازگشت میکنی که اصلا بقیه کدت خونده نمیشه. در منطق این کد ERROR دارد چون غیر از Void هر تابعی باید یک خروجی داشته باشه که در اینجا اصلا خروجی خالص نداری یعنی اون دوتا خروجی تو if قرار دارن. پس باید اینطوری کدت رو بنویسی



private bool myapp(int x, int y)
{
if (x ==y)
return true;
// d, s is variable
if (d != s)
return false;

return (false);
}



پس با توجه به کد بالا ابتدا چک میشه که ایا X == Y هست یا خیر اگر بود True و از تابع میاد بیرون و اگر نبود شرط دومی چک میشه که اگر باز d != s بود که False میاد بیرون و تابع تموم میشه و اگر هیچکدوم نبودن و با توجه با قانون تابع bool که باید یک خروجی داشته باشه خودمون تعیین می کنیم که ایا False باشه یا True که من زدم False باشه