In the second edition of The C Programming Language book, it is said that functions like isdigit may return any non-zero value for true. Why do functions like isdigit return a random non-zero value for true instead of something standardized like 1 (just like logical expressions do)? Also, in my tests, the result of the isdigit function was always 2048 for true. Is this fully random or tied to something, or is this 2048 value the same for everyone?
Compiler that I use: GCC 12.1.0