The zinc is more reactive than iron. This means that if a crack appears on the surface of iron coated with zinc even then zinc will take part in the redox reaction and not iron. In other words, zinc will be corroded in surface to iron. But same is not is the case with tin it is less reactive than iron. if a crack appears on the surface of iron coated with tin, then iron will take part in the redox reaction and not tin. Therefore, iron will be corroded under these circumstances.