let me elaborate ma comment below question:
- letters
B as well b are wider than 2mm ,what is defined first column width.
- option
\hspace{0pt} in your C column definition prevent cells content to spill-out to next column. consequently latex push cells content to next line where this limitation is not in force. consequently you obtain your result.
the possible cures:
- omit
\hspace{0pt} and by this allow that cell content can use \tabcolsep space on the right side of cells and if is necessary spill-out to next column
- increase cells width. for example, if you like to have columns width ratio 2:5, (as can be concluded from your code snippet), than you can define column width as
\begin{tabular}{|C{1em}|C{2.5em}|}
an example complete small document (called minimal working example: mwe) is:
\documentclass{article}
\usepackage{array}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash}m{#1}}
\begin{document}
\begin{center}
\renewcommand\arraystretch{1.2}% for more vertical space in cells
\begin{tabular}{|C{1em}|C{2.5em}|}
\hline
b & c \\
\hline
B & C \\
\hline
\end{tabular}
\end{center}
\end{document}
which gives:

of course you can define other column width, but they should not be small than width of letter M, i.e. 1em.
note: please in future always provide mwe, not just code snippet. with this you will help ust to help you.
B.... try to remove\hspace{0pt}from yourCcolumn definition. – Zarko Feb 11 '18 at 10:24