لدي مشكلة في تنفيذ كود بلغة C

أقوم بتنفيذ كود بلغة C, لكن يحدث خطأ عند التنفيذ ولا اعرف ماهو....؟؟

ببساطة, الكود ينفذ من خلال cmd ونقوم بامرار له عددين, العملية الحسابية (+ او - او *) ومن ثم يظهر لي الناتج علي حسب ماقمت انا بادخاله.

الكود في رابط الصورة , بالاضافة الي الخطأ الذي يظهر لي.


السلام عليكم ورحمة الله وبركاته @medo7x‍ 

المشكلة في تابع ال strtol , فهو تابع يقبل ثلاث بارمترات وأنت قد مررت له واحداً فقط , حيث أن البارمترات التي يقبلها :

1- النص المراد استخراج الرقم منه .

2- مرجع ليحوي النص المتبقي بعد استخراج الرقم منه .

3- نظام الأرقام الذي تريد البحث عنه (( 16- 10- 8 - 2 الخ )).

مثال ذلك :

#include <stdio.h>
#include <stdlib.h>

int main()
{
  char szNumbers[] = "2001 60c0c0 -1101110100110100100000 0x6fffff";
  char * pEnd;
  long int li1, li2, li3, li4;

  li1 = strtol (szNumbers,&pEnd,10);

  li2 = strtol (pEnd,&pEnd,16);

  li3 = strtol (pEnd,&pEnd,2);

  li4 = strtol (pEnd,NULL,0);

  printf ("The decimal equivalents are: %ld, %ld, %ld and %ld.\n", li1, li2, li3, li4);
  return 0;
}

التنفيذ :

وفي حالتك بما انه جمع لأرقام عادي فيمكنك وضع الأساس 10 (( البارميتر الثالث )) و البارميتر الثاني إن كنت لا تريد تمريره يمكنك ببساطة تمرير NULL

تحياتي .