It's probably an overflow (unless CHAR_MAX >= 256
). That's Undefined Behavior, and anything may happen. It's unlikely to format your harddisk.
Domanda
My curiosity got the better of me. What would happen (or does happen) when you write the code:
char pseudo_char = 256;
Would it store a virtual char with a value of 256? Or is this illegal and should never be done?
Soluzione
Altri suggerimenti
This would be an undefined behavior. The range of char is -128 to +127 or 0 to 255 based on if it is signed or unsigned, so anything may happen in your case.
Would it store a virtual char with a value of 256?
It will show you an undefined behavior. Something which you cant predict.
Or is this illegal and should never be done?
I would not say that it is illegal but yes if you dont want to get into unpredictable environment then dont do this.
That would produce a warning saying "overflow occured". But I figured out that after 255 any other number assigned to the char - it restarts from 0 and assigns appropriate ASCII char to it. Like
256 -> (null) equivalent to 0
300 = 256+44 -> , equivalent to 44