这些天学到的一些C语言小技巧

本文分享了一些实用的C语言编程技巧,包括使用位操作实现字母大小写转换、判断一个数是否为2的幂、不使用乘法求两数乘积等。这些技巧有助于提升代码效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看着别人的源码总是会惊讶,原来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里的表达式不执行

别的,以后慢慢说~

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值