memset函数的一个大坑

今天真是气死我了, 写了一个找不出任何缺陷的程序, 结果运行结果就是错的, 后来找了半天才发现了问题所在

int f[5010];
memset(f, 1, sizeof(f))
复制代码

这个用法是错的, 真是奇了怪了, 以前我好像一直这样用的呢??? \笑

如果这里改成memset(a,1,5010*sizeof(int))也不可以,因为memset按字节赋值。这样赋值完以后,每个数组元素的值实际上是0x01010101即十进制的16843009。所以用memset对非字符型数组赋初值是不可取的!

多么痛的领悟啊!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值