Because fputs doesn't need to read into a buffer and therefore does not need to know the buffer length. It reads the string and writes all the characters in the string until it encounters the NUL char.
Because you're not using it for anything. All you're using the local variable!
Err, what is supposed to do?
For warnings, check compiler settings. You could tell what compiler you're using so someone can help.
What's the point since obviously the entire string is written?