الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تحدي - هل أنت مجنون بلغة سي، جرب هذا التحدي

بدأه uxirol في 29 يوليو 2014 · 3 رد · 904 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أريد أن تكتب دالة تقوم بآستدعاء الدالة main لتنفيذ بعض المهام، طباعة جملة مثلا، ثم تعيد مسار التنفيد إلى الدالة المستدعية callee

 

مثال للتوضيح فقط

#include <header.h>

void CallMain()
{
    printf("before calling main");
    main();
    printf("after calling main");

    return;
}

int main(int argc, char *argv[])
{
    // code here
    return 0;
}

أتمنى أن تستمتعوا بحل التحدي :)

وعيد مبارك سعيد

2
#2

السوال سهل عرف متغير لتفادي التكرار اللانهائي

#include <header.h>
bool callCaller=true;
int main();
void CallMain()
{
    printf("before calling main");
    main();
    printf("after calling main");

    return;
}

int main()
{
	if(callCaller)
	{
		callCaller=false;
		CallMain();
	}
    return 0;
}
1
#3

@mazzica

جوابك صحيح أخي 1+

result.png

 

في إنثظار طرق أخرى، قبل إعلان الحل النهائي

تم تعديل هذه المشاركة بواسطة uxirol في 29 يوليو 2014 في 21:22

1
#4

السلام

 

انا اعتقدت ان الكود يجب ان يبدا التشغيل من دالة اخرى نحن معرفينها ثم هذه الدالة تستدعي main و لهذا السبب تطايرت افكاري الى الهندسة العكسية

 

:)

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…