السلام عليكم
الحلقة الثانية - الجزء الثاني.
الحلقة الثانية - الجزء الثالث.
الحلقة الثانية - الجزء الرابع.
مرحبا بكم في الجزء القبل الأخير من الحلقة الثانية من سلسلة اختبر قدراتك, قمتُ بتقسيم الحلقة الثانية إلى عدة أجزاء, مُرتبة حسب الصعوبة, لكن قمتُ بتغيير نمط السؤال هذه المرة, حتى لا يُصاب المشاركون بالملل :happy:
الإختبار الثاني (الجزء الخامس) :
حاول تنفيذ الكود التالي :
#include <stdio.h>
int main() {
int *p1, *p2, *f1(), *f2();
p1 = f1(4);
p2 = f2(*p1);
printf("*p1 = %d\t*p2 = %d\n", *p1, * p2);
return 0;
}
int *f1(m) int m;
{
int n = 5;
n += m;
return (&n);
}
int *f2(m) int m;
{
int p = 8;
p += m;
return (&p);
}ماذا يحدث لو كانت المتغيرات المحلية لــ f1 و f2 ساكنة (static) ؟
علل جوابك ! :)
سأضع حل السؤال بعد إنتهاء عرض المحاولات.