由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 问一个简单问题
相关主题
Exceptional C++ code questionquestion about shift
[合集] how to refer an inline function?[合集] visual c++中读二进制图形文件的奇怪问题
is size_t recommended for 64-bit windows porting?C的问题,困惑中
new了指针,delete的时候出错了请教一个C的问题
[转载] Re: 问个土问题吧C 中的typedef 一问
little endian vs big endian经典题atoi的溢出处理 (转载)
一个hash table的简单问题问一个gcc下bit field的对齐问题
有人发过的一个面试题请教C的类型转换问题
相关话题的讨论汇总
话题: char话题: msdn话题: toupper话题: 简单话题: inline
进入Programming版参与讨论
1 (共1页)
d***k
发帖数: 763
1
问一个简单问题,在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
: 有什么讲究?还是都可以?

1 (共1页)
进入Programming版参与讨论
相关主题
请教C的类型转换问题[转载] Re: 问个土问题吧
请教怎么用#define实现如下的功能little endian vs big endian
"(char *)-1" 是什么意思?一个hash table的简单问题
一个integer promotion问题有人发过的一个面试题
Exceptional C++ code questionquestion about shift
[合集] how to refer an inline function?[合集] visual c++中读二进制图形文件的奇怪问题
is size_t recommended for 64-bit windows porting?C的问题,困惑中
new了指针,delete的时候出错了请教一个C的问题
相关话题的讨论汇总
话题: char话题: msdn话题: toupper话题: 简单话题: inline