This option changes the default char type from signed to unsigned.
This option is useful when you are working with character data that you intend to localize.
If a char value is explicitly declared signed, the /J option does not affect it, and the value is sign extended when widened to int type. With the /J option, the char type is zero extended when widened to an int type.
When you specify /J, the compiler automatically defines the identifier _CHAR_UNSIGNED, which is used with #ifndef in the LIMITS.H include file to define the range of the default char type.
Neither ANSI C nor C++ requires a specific implementation of the char type.
See Also
Send Feedback on this topic to the authors