From my experience I should not assign the return value that is `int` from `std::getchar`, `std::cin.get()`, `std::cin.peek()` to a `char` because it is so dangerous and error-prone.

* So I can use: `std::cin.get(c);` but not `c = std::cin.get()`.

Now if I issue this:

```
char ch;
std::cin.get(ch); // Ctrl+D 

```

And the user enters the end of file `EOF` (-1) how does the function `std::cin.get(c)` set it to `ch`? or `ch` has the value `\0`? Thank you.