هل الفنكشن main recursive
int main()
{
int count =1;
count++;
cout << count <<endl;
main();
return 0;
}
عند التنفيذ أجد انه يطبع عدد لانهائى من المرات لرقم 2 اى انه ينفذ امر الطباعة بشكل ريكريزيف لكن الزيادة لاتتم هل اجد عند احدكم تفسير لذلك؟؟؟؟؟؟؟
هل الفنكشن main recursive
int main()
{
int count =1;
count++;
cout << count <<endl;
main();
return 0;
}
عند التنفيذ أجد انه يطبع عدد لانهائى من المرات لرقم 2 اى انه ينفذ امر الطباعة بشكل ريكريزيف لكن الزيادة لاتتم هل اجد عند احدكم تفسير لذلك؟؟؟؟؟؟؟
أظن أن عليك استدعاء قيمة المتغير عندما تنادي الفنكشن في البودي
you have to change the header to be:
int main(int i) .... .... main (count) return 0;
ولكن من الأفضل عمل فنكشن خارج المين ومناداته من المين
تم مناقشة الموضوع سابقا على الرابط :
int main()
{
int count =1;
count++;
cout << count <<endl;
main();
return 0;
}ما الهدف من استدعاء الدالة main ؟؟؟
بالنسبه لعدم طبع الزياده كل مره فهذا شي منطقي لان الفانكشن لما بتتنادى بتعيد تعريف الكاونتر ولكن ربما ينفع اسمعمال
static int counter=1;
cout<<counter;
ونفس الكود بتاعك تماماً
بس ايه الفايده من منادات المين واذا كان ذلك فلابد من وضع شرط لكسر اللووب
السلام عليكم
نعم من المنطقي ان يعرض الرقم 2 لانك كل مره يتم فيها استدعاء داله main يتم تعريف المتغير count مره أخري من جديد .. لذا اكتفي بتمرير القيمه كـ parameter .. مع الغاء تعريفها داخل الداله
تم تعديل هذه المشاركة بواسطة فلسطينية في 18 نوفمبر 2004 في 16:57
وبالنسبه للطباعة بشكل نهائي فذلك لانك لم تضع شرط لتوقف عمليه recursive
السلام عليكم و رحمة الله و بركاته
الأخوة الاعزاء
الكلام ده يبقي علمي و مفيد لو بعدنا عن الMain Function
لانها تمثل الEntry Point للبرنامج بداية البرنامج يعني
بالتالي معناه ايه انك تنادي البرنامج كذا مرة
كما ان ال parameter التي نستخدمها في الMain Function
لها معني خاص بها
لو تبغوا نكمل مناقشة الموضوع ده انسوا الMain Function
بالتوفيق
أبا المنذر
تم تعديل هذه المشاركة بواسطة mdyehia في 24 نوفمبر 2004 في 19:11
المسلمون ربهم واحد و قبلتهم واحدة و كتابهم واحد
و يقفون يوم الحج الاكبر بملبس متشابه في صعيد واحد
و يصلون الجمعة و الجماعات
كل ذلك و قلوبهم متفرقة
اللهم اجمع شمل المسلمين و ألف بين قلوبهم
أبو المنذر
هذا الموضوع مغلق.