C calls out because D didn't he knows B is white but if he was a white D would call out so he has to be black because if he was white D would call out.
I agree with this, not that I ever would have thought of it on my own.
The pattern is white black white, B C D. D can see C and B. If C and B were both white, he would have called the one on the other side of the wall Black, as there are two of each color. BUT, he didn't, as there was one black and one white. So, C can only assume that he has a different hat color than B. This works just fine except for one thing:
They can't see D. So, they are left with just as much a chance of survival as they started with.
Nouman had a good idea also- a pattern. BUT, their captor is threatening to shoot them if they call out an incorrect answer, so the supposed pattern may have been conceived as a trick, meaning the person who called out couldn't have been 100% sure.
EDIT: And YES, I agree with Blizzard, this is fun! Where did you find this stuff?
EDIT2: OH WAIT THAT DOES SOLVE IT! It doesn't ask WHAT they call out, just WHO and why they are certain, lol!