问一个简单问题,在MSDN上看到这样的程序
inline char toupper( char a ) {
return ((a >= 'a' && a <= 'z') ? a-('a'-'A') : a );
}
为什么不用
a+('A'-'a') : a
有什么讲究?还是都可以?
X****r 发帖数: 3557
2
Whether 'char' is 'signed char' or 'unsigned char' is implementation-defined.
a - ('a' - 'A') works in both case.
a + ('A' - 'a') may or may not work in the latter case.
【在 d***k 的大作中提到】 : 问一个简单问题,在MSDN上看到这样的程序 : inline char toupper( char a ) { : return ((a >= 'a' && a <= 'z') ? a-('a'-'A') : a ); : } : 为什么不用 : a+('A'-'a') : a : 有什么讲究?还是都可以?