السلام عليكم
الحلقة الثانية - الجزء الثاني.
الحلقة الثانية - الجزء الثالث.
الحلقة الثانية - الجزء الرابع.
الحلقة الثانية - الجزء الخامس.
مرحبا بكم إخوتي الكرام في الجزء الأخير من الحلقة الثانية من سلسلة اختبر قدراتك, قمتُ بتقسيم الحلقة الثانية إلى عدة أجزاء, مُرتبة حسب الصعوبة.
سؤالنا هذه المرة يختلف قليلا عن الأسئلة السابقة :happy:
الإختبار الثاني (الجزء السادس و الأخير) :
قم بتنفيذ الكود التالي :
#include <stdio.h>
typedef unsigned long long BigInt;
unsigned short i;
BigInt Func1(BigInt(*Func2)()) {
unsigned short j;
j = i;
if (j == 0) return 1;
else {
i--;
return j * Func2(Func2);
}
}
int main(int argc, char * argv[]) {
printf("Value ? ");
scanf("%hu", &i);
printf("Result = %llu\n", Func1(Func1));
return 0;
}هل توجد أخطاء منطقية في الكود ؟ :)
- إذا كان الجواب نعم, فما هي تلك الأخطاء ؟
- إذا كان الجواب لا, فقم بشرح طريقة تنفيذ الكود خطوة بخطوة ! (التفاصيل مهمة جدا ..)
سأضع حل السؤال بعد إنتهاء عرض المحاولات.
