To print a number of type `off_t` it was recommended to use the following piece of code:

```
off_t a;
printf("%llu\n", (unsigned long long)a);

```

* Why the format string is *not* enough?
* What will be the problem if it were not casted?