参加某笔试,遇到一些奇怪的笔试题:
第一题:
int main()输出是64;
{
int i=320;
char *ptr = (char*)&i;
printf("%d",*ptr);
}
如果是采用大端存储的方式,是否还是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;
}
为什么能这么初始化,没弄明白~