Iharob is right. 'AB' being a multi character turns out to be not predictable. If you intend to keep the two characters 'AB', I'd recommend declaring this constant as a string char ab[] = "AB";. The print for a string could be printf("ch is %d\n", ab[0]);, to have 65 as output.