有些oj上的G++支持 cstdio的memset,有些则支持stdio.h中的memset(划掉)
这两个头文件关系比较复杂, 具体我也说不清...按照c++文档中的说法,stdio已经deprecated了,也就是不赞成使用了。(划掉)
但貌似我有几道题用csdio的memset编译错误,要用stdio.h(划掉)
memset应该是在string.h头文件
memset是按字节赋值的,比如memet 0x3f, 3f就是一个字节,64位系统中,int有32位即4个字节,所以赋值给int后每一个数都是0x3f3f3f3f,4个3f
现在应该清楚了为什么不能用memset赋值1了吧,1 写成8位字节是00000001,赋值给int就变成了00000001 00000001 00000001 00000001, 不知道变成啥奇怪的玩意儿了
至于赋值-1,大概是刷了11111111进去,总的还是-1,所以赋值-1是没问题的。
下面总结一些不会错的赋值
memset 0
memset -1
memset 0x7f(int可达到的最大值2139062143)
memset 0x3f ( 0x3f 大约10亿6千万,常用的)