I saw the following example on cppreference.com
int x; // OK: the value of x is indeterminate
int y = x; // undefined behavior
Here, int y = x; is undefined behavior because x is uninitialized.
But,
unsigned char c; // OK: the value of c is indeterminate
unsigned char d = c; // OK: the value of d is indeterminate
Here, unsigned char d = c; is indeterminate behavior, but unsigned char c; is also an uninitialized variable.
So, Why is the value of unsigned char d indeterminate?