由题目给出的信息可知:d+b有无色气体产生,因此b、d是盐酸和碳酸钠中的一种,那么a、c是BaCl2、AgNO3中的一种;又因为c+d、a+d都有白色沉淀生成,因此d是碳酸钠,b是盐酸;又因为a+b有白色沉淀,因此a是硝酸银,c是氯化钡.故选D.