避免科目三起步熄火的方法
找錯題
試題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個字節(jié)才能存放下(包括末尾的’\0’),而string只有10個字節(jié)的空間,strcpy會導致數(shù)組越界;
對試題2,如果面試者指出字符數(shù)組str1不能在數(shù)組內結束可以給3分;如果面試者指出strcpy(string, str1)調用使得從str1[url=]內存[/url]起復制到string內存起所復制的字節(jié)數(shù)具有不確定性可以給7分,在此基礎上指出庫函數(shù)strcpy工作方式的給10分;
對試題3,if(strlen(str1) <= 10)應改為if(strlen(str1) < 10),因為strlen的結果未統(tǒng)計’\0’所占用的1個字節(jié)。
剖析:
考查對基本功的掌握:
(1)字符串以’\0’結尾;
(2)對數(shù)組越界把握的敏感度;
(3)庫函數(shù)strcpy的工作方式,如果編寫一個標準strcpy函數(shù)的總分值為10,下面給出幾個不同得分的答案:
【避免科目三起步熄火的方法】相關文章:
如何避免科目三考試剛起步就熄火04-21
該怎么避免科目三起步熄火的問題04-09
科目二坡道起步溜車熄火如何避免?12-26
如何避免科目三考試熄火03-06
科目二坡道起步熄火的解決方法03-18
科目二坡道起步如何避免熄火和后溜05-09
坡道起步熄火原因及避免技巧02-22
新手開車避免起步熄火的技巧05-14
如何避免坡道起步熄火問題03-24
- 相關推薦