为什么 int 下的 0x3f3f3f3f 和 long long 下的 0x3f3f3f3f 的值不同?
long long 的数组在 memset 后却不是 0x3f3f3f3f?
详见代码:
#include <iostream>
#include <cstring>
using namespace std;
signed main(){
int a[105];
long long b[105];
memset(a,0x3f,sizeof a);
memset(b,0x3f,sizeof b);
cout<<0x3f3f3f3f<<endl;
cout<<a[1]<<endl;
cout<<b[1]<<endl;
return 0;
}
运行结果:
1061109567
1061109567
4557430888798830399