微软2013暑期实习生笔试题错误汇总
错题分析:
-
【ABC】少选择了A。看到已排序查找就想到了顺序查找,如果array使用二分查找,那么时间复杂度就不同了。
-
不定。难道是考察是否使用VC++而不是GCC。dev-c++下得到10。c++ primer第四版140页写到“++(或–)的后置形式同样对操作数+1(或-1), 但操作后产生操作数原来的未修改的值作为表达式的值” 。据说VC++返回11。
-
22221111没有正确答案,我在Dev-c++下执行。A长度是4,B长度是8。seta按照4来处理data所以访问data[1].a实际访问的是[data][0].b
-
【BCD】A是0。BC从栈上分配,使用了相同的地址。
内存分配方式有三种: (1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。 (2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。 (3) 从堆上分配,亦称动态内存分配。程序在运行的时候用malloc或new申请任意多少的内存
-
【D】rectangle以为是直角。成天写程序rect表示矩形,以为加个angle就是直角
-
【AD】选择排序不是稳定的,因为有交换操作,比如221
-
【AC】待定
-
【B】高考做跨页的题就容易错,这次没注意到前一页sql语句的sum。