遇到的几个奇怪的笔试题

时间:2021-11-17 14:40:04


参加某笔试,遇到一些奇怪的笔试题:
第一题:

int main()
{
int i=320;
char *ptr = (char*)&i;
printf("%d",*ptr);
}
输出是64;
如果是采用大端存储的方式,是否还是64呢?

第二题:

int array[] = {10,20,20,40};
printf("%d",-2[array]);

输出是-20;这个结果与printf("%d",-array[2])相同,没弄明白这是为什么?

第三题:

class Foo
{
public:
char c;
static double sd;
double d;
int i;
};

int main()
{
Foo f = {72,3.14};
cout<<f.c+f.d+f.i<<endl;
}

为什么能这么初始化,没弄明白~