In Commodore BASIC, the PRINT command is tokenized and stored as a single byte $99 - see this wiki: http://www.c64-wiki.com/index.php?title=BASIC_token
When you use "?", this gets stored as the same token $99 as well. When you LIST the program then, you see PRINT.