1طلب توضيح جملة return فى هدا البرنامج كيف تشتغل
2 - هل جملة return فى هدا البرنامج عند تنفيدها تخرج خارج البرنامج الفرعى ام الى نهاية البرنامج الفرعى
السلام عليكــم ورحمـة الله وبركاتــه ،،
كلمة return
تستخدم مع الداله التى لا تعود بقيمه لإنهاء هذه الداله
لاحظ هذا البرنامج البسيط
#include<iostream>
والخارج يكون
Hello
ولا يكتب thanks
ثم ينفذ باقى الأوامر الموجوده فى الداله الرئيسيه
اللهم صل على سيدنا محمد وعلى آله وصحبه وسلم
شكرا على الايضاح
ولكن المشكلة التى لم افهمها فى برنامج المرفق (hanoi)عند عمل تتبع باستخدام F7 عند وصول قيمة n==1 ،وبعد ذلك ينفد جملة return التى تخرج الى الدالة المستدعية ،فنجد ان قيمة n=2،وبعد دلك ينفد جملة الطباعة وهكدا
#include <conio.h>
#include <stdio.h>
static int step=0;
void main(){
void Hanoi(int,char ,char ,char );
char t1='A',t2='B',t3='C' ;
int n;
clrscr();
printf("\n Enter the no. of disks on Tower A:");
scanf("%d",&n);
if(n<1)
{
printf("\n Nothing to move");
}
else
Hanoi(n,'A','B','C');
/*print step move */
printf("\n \n\n Num_disks=%d steps=%d",n,step);
getch();
}
void Hanoi(int n ,char t1,char t2,char t3)
{
step++;
if(n==1)
{
printf("\n%s%c%s%c","move disik 1 from peg ",t1," to peg ",t2);
return;
}
Hanoi(n-1,t1,t3,t2);
printf("\n%s%d%s%c%s%c","move disik ",n," from peg ",t1," to peg ",t2);
Hanoi(n-1,t3,t2,t1);
}
اقصد عند التتبع ووصول قيمة n=1 لماذا ترجع قيمة n=2
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…