选A
A和D都对啊。A选项:!(a*b)为真,a*b为假,说明a和b至少有一个为0,(a+b)为真,说明a和b不全为0,所以A就是说明a和b只有一个为0.B选项:a*b为真的话,a和b都不能为0,所以B不对C选项:a*b==0说明a和b至少有一个为0,不能保证只有一个为0,所以C不对D选项:a!=0能保证a不为0,!b为真,b就是假,b=0,所以D也是对的
A