Question:
Why do I get with the following program, this error: general protection exeption, 0x215f:0x1ef3timer(1) 0x215f:0x1ef3 Processor fault.Program (very small):
#include#include int get_value (int _value);void main (void){ int _time=0; int _timemod=1; clrscr(); while (_time I think the program fails in returning the value from get_value.Can you help me? Answer:
There are two problems with your get_value function.
- If the parameter has to be modified, you need to pass itas a reference.
- scanf requires the address of the variable it is to write in, notthe value.
So, if you rewrite your get_value as follows, you should be OK.
int get_value (int &value){ gotoxy (30,5); printf (“El nuevo factor por favor : “); scanf (“%d”, &value); return (value);}Also, it is a very poor programming practice to put leading underscores invariable names. These names are generally reserved by the C compilerfor its own use.