次の文を英語にしてください。
「昨日、誰と話しましたか。」(talk to)
「誰と」の部分は目的語です。そのため、目的格のwhomを使って、Whom did you talk to yesterday?となりそうですね。
でも、実際の会話では、Who did you talk to?と言うのが普通です。whomが単独で文頭に来るときはwhoで代用するのです。
フォーマルな書き言葉では、To whom did you talk?と言います。(to whoという言い方はできません。)
Whom did you talk to yesterday?は、少し中途半端です。会話ではwhoを使いますし、フォーマルな書き言葉では、前置詞(ここではto)を後ろに残さないというルールがあるからです。
文法に詳しい皆さんも、会話ではwhoで始めても良いということを覚えておきましょう!
最後にもう一つ。次の文を英語にしてください。
「今朝、誰に電話をしましたか。」(call)
答え
Who did you call this morning?
もう大丈夫ですね!