It was probably already posted somewhere, since it's a project Euler problem, but, I don't have a problem solving the particular problem, though I do have a problem with a code I wrote, since I can't seem to find a mistake.

My guess is that I'm overseeing something at printing or at memorising values, but I am not certain. Anyways, here's my code:

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

int main(){
int x = 999, y = 999, z = 0, w = 0, a=0, *largest = a;
for (x; x > 99; x--){
    for (y; y > 99; y--){
        z = x*y;
        while (z != 0){
            w = w * 10;
            w = w + z % 10;
            z = z/10;
        }
        if (x*y == w){
            a = w;
            goto stop;
        }
        w = 0;
    }
}
stop: printf("%d\n", largest);
system("pause");
return 0;
}

```

I know that a and largest and stuff aren't necessary, I was just testing a lot changing all kind of stuff, using pointers and what so not, so no need to pay a lot of attention to that part of the code.