摘要:
2分快速排序C代码: 1 typedef unsigned char BYTE; 2 3 void swap(BYTE *a, BYTE *b) 4 { 5 if(a != b) { 6 *a = *a ^ *b; 7 *b = *b ^ *a; 8 *a = *a ^ *b; 9 }10 }11 12 /***13 *2路划分快速排序14 *15 **/16 int partition(BYTE *array, int left, int right)17 {18 int i = left - 1, j = ri... 阅读全文
摘要:
在资源初始化的代码块中,除了用goto可以用作出错处理之外还可以使用do { } while(0)使用break就可以跳出来进行出错处理,缺点是少了标签的层次出错处理。C++实例代码:截自Mac OSX USB驱动 1 do { 2 if(!newDevice->init(deviceAddress, powerAvaliable, speed, maxPacketSize)) 3 break; 4 if(!newDevice->attach(this)) 5 break; 6 if(!newDevice->start(this)) { ... 阅读全文