The correct option is
B The principal said to me, "Are you going today?"
The given sentence is in direct speech. The rules for punctuation in a sentence in direct speech are:
If the direct speech comes after the word indicating the speaker, a comma should be used to introduce the piece of speech. The words that are actually spoken should be enclosed in inverted commas ("..."). There should be a comma, full stop, question mark or exclamation mark at the end of the speech depending on the type of speech the sentence is. This mark is to be placed inside the closing inverted comma.
In the given sentence, the speaker is the principal. The words, 'Are you going today?" are spoken by the principal. As it is a question, the speech has to be ended with a question mark inside the inverted comma.
Option A: The speech is incorrectly punctuated by a full stop instead of a question mark. Further, the punctuation mark is outside the inverted comma. Hence, this is incorrect.
Option B: Here, the punctuation mark is outside the inverted comma. Further the common noun, 'principal' is incorrectly capitalized. Hence, this is incorrect.
Option C: Here, the speech is introduced by placing a comma before the speech. The speech itself is inside the inverted comma. The speech is also correctly punctuated by a question mark, which is within the inverted comma. Hence, this is correct.
Option D: The speech is incorrectly punctuated by a full stop instead of a question mark. Further, the inverted comma is not used to end the speech. Hence, this is incorrect.