Hola, tengo un problema que no se porqué pasa, yo creo que es el compilador
En ese caso nos ayudarías como no tienes idea si nos indicas cual estas utilizando.
El único problema en potencia con el programa son los tipos "long long" y "unsigned long long" ya que estos fueron introducidos con el estándar C99. Debes revisar la documentación de tu compilador para saber si soporta esos tipos y que este configurado correctamente.
También debes utilizar "%lu" para imprimir la macro "ULONG_MAX".
Es como está en el libro, pero el valor de la variable "long long", a la hora de ejecutar el programa, no corresponde con la uqe sale en el libro
Por esa razón se utilizan esas macros: los valores que se indican en un libro son los
mínimos garantizados, los valores exactos dependen de la implementación.
Un saludo