programmer
کاربر تازه وارد
- تاریخ عضویت
- 1 نوامبر 2005
- نوشتهها
- 85
- لایکها
- 0
return در یک تابع در واقع مشخص میکنه که باید از تابع خارج بشیم.
یعنی انتهای یک تابع رو مشخص میکنه ! جایی که تابع به کار خود پایان داده و نتیجه را برمیگرداند !
در هر بار اجرای تابع فقط یکی از return ها کار میکنه !
به خطوط قرمز که شرط هایی رو مشخص میکنن دقت کنید ! در هر بار اجرای تابع فقط یکی از این شروط درست
هستند و return اون شرط اجرا میشه.بعدش هم از تابع خارج میشه و کنترل اجرا اصلآ به بقیه return ها نمیرسه.
در مورد برنامه بالا وقتی خط قرمز رنگ اجرا میشه تابع به کار خودش پایان میده. و دستورهای بعد از اون خط اصلآ اجرا نمیشن.
در واقع اگر دستور return کلیه خطوطی که بعد از return قرار دارند اجرا نمیشوند !!!
در برنامه اول شما فقط یک خروجی داشتین که بنا به حالات مختلف تغییر میکرد ولی در برنامه دوم شما سه خروجی دارید.
بهتره به بحث توابعی که چند خروجی دارند مراجعه کنید.اونجا در این مورد بحث کردیم.(صفحه 13 پستهای 189 به بعد)
یعنی انتهای یک تابع رو مشخص میکنه ! جایی که تابع به کار خود پایان داده و نتیجه را برمیگرداند !
کد:
#include<iostream.h>
int Max(int a,int b){
[COLOR="Red"]if(a>b)[/COLOR]
return 1;
[COLOR="red"]else if(b>a)[/COLOR]
return -1;
[COLOR="red"]else[/COLOR]
return 0;
}
int main (){
int a,b;
cin>>a>>b;
cout<<Max(a,b);
return 0;
}
در هر بار اجرای تابع فقط یکی از return ها کار میکنه !
به خطوط قرمز که شرط هایی رو مشخص میکنن دقت کنید ! در هر بار اجرای تابع فقط یکی از این شروط درست
هستند و return اون شرط اجرا میشه.بعدش هم از تابع خارج میشه و کنترل اجرا اصلآ به بقیه return ها نمیرسه.
کد:
#include<iostream.h>
int calculate(int a,int b){
int Mul,Sum,Div;
Mul=a*b;
[COLOR="Red"]return Mul;[/COLOR]
Sum=a+b;
return Sum;
Div=a/b;
return Div;
}
int main (){
int a,b;
cin>>a>>b;
cout<<calculate(a,b);
return 0;
}
در مورد برنامه بالا وقتی خط قرمز رنگ اجرا میشه تابع به کار خودش پایان میده. و دستورهای بعد از اون خط اصلآ اجرا نمیشن.
در واقع اگر دستور return کلیه خطوطی که بعد از return قرار دارند اجرا نمیشوند !!!
در برنامه اول شما فقط یک خروجی داشتین که بنا به حالات مختلف تغییر میکرد ولی در برنامه دوم شما سه خروجی دارید.
بهتره به بحث توابعی که چند خروجی دارند مراجعه کنید.اونجا در این مورد بحث کردیم.(صفحه 13 پستهای 189 به بعد)