I have this code here ::
int f(int x, int *py, int **ppz)
{
int y, z;
**ppz += 1;
z = **ppz;
*py += 2;
y = *py;
x += 3;
return x + y + z;
}
int main()
{
int c, *b, **a;
c = 4;
b = &c;
a = &b;
printf( "%d\n", f(c,b,a));
printf( "%d\n", c);
}
(Please choose the header files accordingly)
When I run this code as a C++ program, it runs smoothly. But, when I run it as a C program, it completes its execution, prints all the values, but on the last line of the code, gives a Runtime Error. I attached a debugger, and at the end of the program(while running this code in C) on clicking Step-Over, it takes me to a min_gw file, which looks something like this::
__mingw_CRTStartup()
__mingw_CRTStartup+208: mov %eax,%ebx
__mingw_CRTStartup+210: call 0x407fb0 <_cexit>
__mingw_CRTStartup+215: mov %ebx,(%esp)
__mingw_CRTStartup+218: call 0x408088 <ExitProcess@4>
__mingw_CRTStartup+223: nop
What is this file?? And why does the code fail in C??
Ideone references ::
C++ :: http://ideone.com/Ubb71k
Thanks for any help in advance.. :)