本文主要是介绍201702部分面试题凯立德,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1. 定义char *str = "hello world",str占用的内存大小是 () ----------AA . strlen(str) +1
B . strlen(str) -1
C . sizeof(str) +1
D . sizeof(str) -1
4.switch 语句能改写成() ---------------B
A.for
B. if
C .do
D . while
8.最佳二叉排序树在结构上的特点是()------------------B
A 除最下二层可以不满外,其余都是充满的
B 除最下一层可以不满外,其余都是充满的
C 每个结点的左右子树的高度之差的绝对值不大于1
D 最下层的叶子必须在最左边
9. 与单向链表相比,双向链表的优点是() -------------C
A 更节省空间
B 便于进行随机访问
C 更容易访问相邻节点
D 可以省略头和尾指针
=====================
12.
void fun1(char buf[100])
{
char str[] = "你好!";
char *ptr1 = str;
int num = 10;
void *ptr2 = malloc(100);
printf("%d %d %d %d %d,sizeof(buf),sizeof(str),sizeof(ptr1),sizeof(num),sizeof(ptr2)");
}
请写出正确结果__________________.//4,7,4,4,4 (GBK编码汉字占2个字节 后面还有个\0)
//UTF-16编码,通常汉字占两个字节
//UTF-8编码是变长编码,通常汉字占三个字节,扩展B区以后的汉字占四个字节
//在不同的编码里占的字节不一样?
13.
void fun2()
{
int a[5] = { 1, 2, 3, 4, 5 };
int *ptr = (int *)(&a + 1);
printf("%d %d \n", *(a + 1), *(ptr-1));//2,5
}
请写出正确结果__________________.
14.
void fun3()
{
int a = 1, b;
for (b = 1; b <= 10; b++)
{
if (a >=8)
{
break;
}
if (a%2 == 1)
{
a += 5;
continue;
}
a -= 3;
}
printf("%d\n",b);//4
}
请写出正确结果__________________.
15.
void fun4()
{
int a[][3] = { 1, 2, 3, 4, 5, 6 };
int(*ptr)[3] = a;
++ptr;
printf("%d %d \n", (*ptr)[1], (*ptr)[2]);//5,6
}
请写出正确结果__________________.
这篇关于201702部分面试题凯立德的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!