int main(int argc, char **argv)
{
int arr[5]={10,20,30,40,50};
int *p = &arr[0];
for(int i=0;i<5;i++,p++)
{
printf("%d\n", *p);
}
return 0;
}
حد يساعدني وين الخطأ ؟ ( لغة c)
حل التمرين صحيح مثل ما تشوف بس لما أجرب الحل في الموقع يعطيني خطأ
في قسم العمليات الرياضية على المؤشرات
التحدي البرمجي : المهمة 2 من 2
السؤال
20 نقطة
قم بكتابة برنامج لطباعة محتوى المصفوفة arr دون استدعائها بشكل مباشر.
التحدي
2
باستخدام جملة for للدوران، قم بطباعة محتوى المصفوفة arr دون استدعائها بشكل مباشر .
لا تنسى زيادة قيمة المؤشر p في كل دورة حتى ينتقل إلى المكان التالي في المصفوفة.
حلك صحيح ولايبدو انه توجد اي مشكلة
هل يمكنك وضع صورة توضح ظهور النتيجة الخاطئة للتحدي مع هذا الكود
انتبه فالبرنامج عندما يصل الى return 0
سيتوقف عن تنفيذ اي تعليمات او كود بعد هذه التعليمة لذلك لايمكنك كتابتها مرتين او كتابة كود ضمن نفس الدالة بعد return 0
حاول اعادة المحاولة مع كتابة امر الطباعة بعد امر الطباعة القديم فقط ويجب ان تحل المشكلة
انتبه لديك خطأ بطريقة كتابة IllegalArgumentException
حيث انك نسيت حرف ال t قبل Exception
حاول اصلاح الخطأ واعادة المحاولة وسيحل التحدي معك بنجاح
حاول التأكد من المطلوب في السؤال وهو تعريف دالة وتقبل ثلاث معاملات من النوع Int وهذه الدالة يجب ان تكون خارج الدالة الرئيسية Main
هل يمكنك وضع صورة توضح حلك عند تعريف الدالة المطلوبة فقط خارج الدالة الاساسية main لنتمكن من تحديد الخطأ ومساعدتك
اقتربت من الحل ولكن اذا كتبت كود زائد فستحصل على نتيجة خاطئة
لقد قمت بتعريف الدالة قبل main بنجاح ولكن نسيت قوس الاغلاق
قم بحذف التعريف الثاني للدالة الجديدة بعد main حيث لافائدة من وجود تعريفين لنفس الدالة
انتبه فالمطلوب استداء الدالة print من اجل طباعة المصفوفة
انت استخدمت امر الطباعة printf
اعد المحاولة مع استخدام الدالة التي تم تعريفها print بدلا من printf وتمرير المتغيرات الصحيحة كما تم تعريفها حيث اولا تمرر اسم المصفوفة ثم تمرر حجمها
يمكنك اعادة مشاهدة الدرس والتأكد من طريقة استدعاء الدوال وستتمكن من تجاوز التحدي بنجاح