The integer constant 255 has type int, not signed char or anything like that. See C99 section 6.4.4.1. Treating it as a signed char and then sign-extending it certainly does not seem to be valid.
The integer constant 255 has type int, not signed char or anything like that. See C99 section 6.4.4.1. Treating it as a signed char and then sign-extending it certainly does not seem to be valid.