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