What you are doing is actually incredibly dangerous. Your input variable is actually degrading into an object of type char*, so it is actually attempting to read a string into your input variable; however, since it doesn't know how many characters your input array can hold, it can possibly overrun input. Therefore, the code as you have it is actually a buffer overflow vulnerability. Instead, you should use:
for (int i = 0; i < 4; i++ ){
std::cin >> input[i];
}
As to why you get that weird character... the stream extraction operator >> reads words that are separated by spaces, so "P F" actually only reads "P". So, your input variable gets filled with "P" (which is NUL-terminated, so you actually have 'P' then '\0'). The remaining elements are uninitialized and so have whatever garbage that happens to be there. Also, I should add that if you did want to read string, then std::getline is a very good way to read std::string objects from the input as in:
std::string result;
std::getline(std::cin,result);