看着别人的源码总是会惊讶,原来C语言还可以这么用!
贴出一些我总结的一些小技巧,各位看到的也别吝啬,把自己知道的贴出来,大家共同进步
1.这是我自己发现的技巧,当然肯定有人比我先发现,但这是自己领悟出来的,很有成就感啊
我们应该都遇到过大小写转换的问题,很简单是吗?用位来写呢?写着写着我居然发现这样一件事~
ch ^= 0x20;
各位各代一个大小写字母去算看看吧,一句,大小写全部搞定~
2.判断一个数n是不是2的指数怎么判断?循环的除2?
只需要判断n&n-1是否为0就可以了~~
3.不用乘法运算怎么求任意两个数的乘积?
有这么一个公式
op1*op2 = op1*(op2&0x1) + (op<<1)*(op2>>1)
不信?自己算算!
4. a += 1效率比a = a+1要高
5.sizeof()的结果是个常量,所以a[sizeof(b)]是合法的
6.这个太经典了,我敢说大部分人不知道
a = 0;
sizeof(a++)
a的结果是多少?
自己编译看看吧,怎么解释?sizeof里的表达式不执行
别的,以后慢慢说~