PDA

View Full Version : گفتگو: تابع مغلوب ,واران ؟



jahadgar91
سه شنبه 19 آذر 1392, 22:57 عصر
کسی میتونه این تابع رو توضیح بده که چه جور بدونه حلقه تکرار اجرا میشه؟؟؟#include <stdio.h>
#include <conio.h>

void maghloob(int x){
if (x){
printf("%d",x%10);
maghloob(x/10);
}
}
int main(void){
int x;
printf("Eneter an integer number:");
scanf("%d",&x);
maghloob(x);
getch();
}

abdorreza
سه شنبه 19 آذر 1392, 23:41 عصر
ببینین تابع یک بار از بدنه ی اصلی برنامه یعنی main فراخوانی میشه. بعد اگر دقت کنید انتهای تابع maghloob باز خود تابع maghloob فراخوانی شده و طبق شرطی که داخل تابع maghloob هست تا زمانی که x یعنی عددی که آرگومان تابع است صفر نباشد عمل فراخوانی مجددا اجرا میشود.

omidshaman
چهارشنبه 20 آذر 1392, 11:22 صبح
تا وقتی که x برابر 0 نشه x/10 انجام میشه و تابع فراخوانی میشه دقیقا مثل حلقه زیر کار می کنه

for(int x=123;x!=0;x/=10)
{
printf("%d",x%10);
}

siryahya
چهارشنبه 20 آذر 1392, 15:26 عصر
با سلام
دوست عزیز هر وقت داخل یک تابع اسم خود تابع آورده شود بدان که با استفاده از روش بازگشتی مسئله را میخواهد حل کند
maghloob(x);