How long ____ ?A. have you joined the army.B. have you been a soldier.請詳細說明一下,是固定的,還是語法要求的。謝謝!

熱心網友

join是一個動作,它著重于加入到什么里,不會持續一個長的時間。不可能參軍參很久。說參軍幾年了,這只是漢語的一個習慣說法。實際上應是,當兵多少年了。 而be有成為,是的意思,這里指,你是軍人有多久了。但漢語又不習慣這樣說。英語又必須這樣說。 所以選擇B是正確的。學習英語時注意與漢語的差別是重要的一個方面。請給予注意! Good luck!