面试题目,看你能够做对几个!
1.定义一个结构:
第一个数据项的取值范围为0~127;
第二个数据项占用1 bit 的长度;其取值范围为0/1;
第三个数据项占用1 bit 的长度;其取值为1;
第四个数据项占用1 bit 的长度;其取值为0;
第五个数据项占用1 bit 的长度;暂时保留使用;
2.找出下面程序的错误:
const int MAX = 500;
unsigned char Array[MAX];
for (int i=0; i<MAX; i++)
{
Array[i] = i;
printf("%d ", Array[i]);
}
3.使str的内容颠倒输出;
char str[]="I love China!";
char *p1 = Array;
int length = sizeof(str);
char *p2 =_____(1)____;
while (p1<p2)
{
_____(2)____
_____(3)____
_____(4)____
_____(5)____
}
printf("Str=%s",str);
4.输出结果:
void main()
{
int array[]={1,2,3,4,5};
int *ptr = array;
ptr++;
printf("%d,%d",*(ptr-1),*(array+1));
}
5.定义一个整形指针a,使数据0x1FFF存放的内存地址为0x55000;
6.编写一个函数,不利用第三个数据交换两个数据的值;
7.使整形变量的第4位为1,其余位不变;清除第四位,其余位不变;