devxlogo

Processor fault

Processor fault

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 < 1000)	{		_time++;		if (_time == 100)		{			get_value(_timemod);			gotoxy (30,6);			printf ("%d", _timemod);		  _time = 0;		}	}}int get_value (int _value){	gotoxy (30,5);	printf ("El nuevo factor por favor : ");	scanf ("%d", _value);	return (_value);}
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.

  1. If the parameter has to be modified, you need to pass itas a reference.

  2. 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.

See also  lenso.ai - an AI reverse image search platform
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist