How long ____ ?A. have you joined the army.B. have you been a soldier.请详细说明一下,是固定的,还是语法要求的。谢谢!

热心网友

join是一个动作,它着重于加入到什么里,不会持续一个长的时间。不可能参军参很久。说参军几年了,这只是汉语的一个习惯说法。实际上应是,当兵多少年了。 而be有成为,是的意思,这里指,你是军人有多久了。但汉语又不习惯这样说。英语又必须这样说。 所以选择B是正确的。学习英语时注意与汉语的差别是重要的一个方面。请给予注意! Good luck!