句子中又有for表示段时间又有when+xxx的时候为什么用过去式不用完成时.
2个回答

“for + 时间段”经常用于完成时.同时,“for + 时间段”也可用于一般过去时.例如:

I 【stayed】 in Chengdu 【for only one night】 in 2008.

所以,你的句子He worked for 3 years when he was young.就正确了.

至于had worked 是“过去完成时”,表示“过去之过去”.本题没有这个意思.本题只表示“他年轻的时候”这个过去时间里工作过三年.不是“过去之过去”.