你可以这么理
只要酸溶液中大多都是H+的,也就是H+起作用,位于氢活动性前面的金属就能给H+电子,使H+变成H2跑掉.如果溶液中H+少,而起氧化性的分子多如(HNO3和浓硫酸),这些分子就先跟金属反应而不会产生氢气.