Unadorned char can be signed or unsigned the standard does not mandate which. There are compiler switches to force the use of one type though.