C++笔试题汇总【转载】
转自: http://www.cnblogs.com/wangkangluo1/archive/2011/07/22/2114006.html 一.找错题 试题1: void test1() { char string [ 10 ]; char * str1 = " 0123456789 " ; strcpy( string , str1 ); } 试题2: void test2() { char string [ 10 ],str1[ 10 ]; int i; for (i = 0 ; i < 10 ; i ++ ) { str1 = ' a ' ; } strcpy( string , str1 ); } 试题3: void test3( char * str1) { char string [ 10 ]; if ( strlen( str1 ) <= 10 ) { strcpy( string , str1 ); } } 解答: 试题1字符串str1需要11个字节才能存放下(包括末尾的’\0’),而string只有10个字节的空间,strcpy会导致数组越界; 对试题2,如果面试者指出字符数组str1不能在数组内结束可以给3分;如果面试者指出strcpy(string,str1