B
解:S?A,且S∩B≠?,说明S是A的子集,且S与B有公共元素;
∴A的构成情况为:①含一个元素:从4,5,6中选一个元素,个数为C31=3;
②含两个元素:从4,5,6选两个元素,或从1,2,3选一个,从4,5,6选一个,个数为:C32+C31C31=12;
③含三个元素:从4,5,6选三个,或从4,5,6选两个,从1,2,3选一个,或从4,5,6选一个,从1,2,3选两个,个数为:C33+C32C31+C31C32=19;
④含四个元素:从4,5,6选三个,从1,2,3选一个,或从4,5,6选两个,从1,2,3选两个,或从4,5,6选一个,从1,2,3选三个,个数为:C33C31+C32C32+C31C33=15;
⑤含五个元素:从4,5,6选三个,从1,2,3选两个,或从4,5,6选两个,从1,2,3选三个,个数为:C33C32+C32C33=6;含6个元素:从4,5,6选三个,从1,2,3选三个,个数为C33C33=1;
∴集合S的个数为:3+12+19+15+6+1=56.
故选:B.