انجمن گروه موج سازان

نسخه‌ی کامل: تابع بازگشتی
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
تابع بازگشتی


با سلامدوستان من توی درک تابع بازگشتی یخورده مشکل دارم یک برنامه خیلی نوشتم یک جاش رو متوجه نشدم ممنون می شم کمکم کنید

کد HTML:

#include<iostream.h>
#include<conio.h>
int mult(int a, int b)
{
if(b==1)

return a;
else
return mult(a,b-1)+a;



}
main()
{
int a,b;
cout<<"Enter Number : ";
cin>>a;

cout<<"Enter Number : ";
cin>>b;
cout<<mult(a,b);
getch();
}

خوب تابع فرعی که خودش رو صدا میزنه return mult(a,b-1)+a; چرا a با مقادیر داخل پرانتز جمع نمیشه و کامپایلر از کجا میدونه که b مقدار تکرار کننده حقله هستش و او ن رو به حساب نمیاره

http://barnamenevis.org/showthread.php?2...to=newpost
کد پی‌اچ‌پی:
#include<iostream.h>
#include<conio.h>
int mult(int aint b)
{
   if(
b==1)
  
   return 
a;
   else 
   return 
mult(a,b-1)+a;
}
 
main()
{
     
int a,b;
     
cout<<"Enter Number : ";
     
cin>>a;
 
cout<<"Enter Number : ";
cin>>b;
cout<<mult(a,b);
getch();

سلام
توی خطی که داره میگه
کد پی‌اچ‌پی:
return mult(a,b-1)+a
a و b-1 به عنوان آرگومان به تابع mult ارسال میشه(بصورت بازگشتی) و این تابع بار دیگه با پارامترهای جدید فراخونی میشه
نقل قول:خوب تابع فرعی که خودش رو صدا میزنه return mult(a,b-1)+a; چرا a با مقادیر داخل پرانتز جمع نمیشه ... .
منظورت چیه قرار نیست که جمع بشه :-?