解:分3种情况讨论
(1)f(1)=0,f(0)=0
则在①中取y=0,有f(f(x))=f(x)
在①中取x=1/y(y≠0),有f(y)=0
所以对任意实数x,有f(x)=0
(2)f(1)=0,f(0)≠0
则在①中取y=0有f(f(x)+f(0))=f(x)+x*f(0) ②
从②中易看出f(x)为单射(事实上,若f(a)=f(b),则利用②得a*f(0)=b*f(0),从而a=b)
再在②中令x=0有f(2f(0))=f(0),于是由f(x)为单射得f(0)=0,矛盾
(3)f(1)≠0
则在①中取y=1有f(2f(x))=f(x)+x*f(1) ③
从③中易看出f(x)为单射
再在③中令x=0,有f(2f(0))=f(0),于是由f(x)为单射得2f(0)=0,即f(0)=0
在① 中,取y=0,利用f(x)为单射得f(x)=x
综上,所求的f(x)有两个:f(x)=0(x∈R),f(x)=x(x∈R)

