To tell the truth, there is something wrong with this topic. The initialization of constants is completed by the compiler. Both B and D are reasonable and do not violate grammatical rules. Compilers are not that stupid. It will automatically handle constant types according to the variable type, and only give a warning when the constant value exceeds the expression range of the variable.
Answer: OL, not 0LC:&; Is an invalid suffix, which is not grammatical.