In C, signed integers like -1 are supposedly supposed to be declared with the keyword `signed`, like so:

```
signed int i = -1;

```

However, I tried this:

```
signed int i = -2;
unsigned int i = -2;
int i = -2;

```

and all 3 cases print out -2 with `printf("%d", i);`. Why?