Unhandled exception at Access violation reading location

access-violationc

I wrote the following C program in Visual Studio 2013:

#include <stdio.h>

int main(){
  int number;
  int fibonacci(int number);

  printf("please enter number\n");
  scanf_s("%d", &number);

  printf(fibonacci(number));
  return 0;
}

int fibonacci(number){
  if (number == 1 || number == 0){
    return number;
  }
  else{
    return fibonacci(number - 1) + fibonacci(number - 2);
  }
}

It gives me this error:

Unhandled exception at 0x5867F365 (msvcr120d.dll) in Project7.exe: 0xC0000005: Access violation reading location 0x00000002.

I think this is about dereferencing a null pointer. How do I fix it?

Best Answer

printf(fibonacci(number));

should be

printf("%d", fibonacci(number));

or even better

int result = fibonacci(number);
printf("%d", result);
Related Topic