閱讀以下說(shuō)明和C函數(shù),回答問(wèn)題l至問(wèn)題3,將解答寫(xiě)在答題紙的對(duì)應(yīng)欄內(nèi)。
【說(shuō)明1】
函數(shù)substring(const char str[],int index,int length)的功能是求出字符串str中指定序號(hào)index開(kāi)始且長(zhǎng)度為length的子串,并返回所取出的子串。以字符串“China today”為例,其第一個(gè)字符“C”的序號(hào)為1(而其在字符數(shù)組str中的下標(biāo)為0),從序號(hào)5開(kāi)始且長(zhǎng)度為3的子串為“at”。

【問(wèn)題1】(6分)
函數(shù)substring中有兩處錯(cuò)誤,請(qǐng)指出這些錯(cuò)誤所在代碼的行號(hào),并在不增加和刪除
代碼行的情況下進(jìn)行修改,寫(xiě)出修改正確后的完整代碼行(有注釋時(shí),注釋可省略)。
【說(shuō)明2】
在C函數(shù)2中,reverse(unsigned intn的功能是求出并返回n的反序數(shù)。例如,1234
的反序數(shù)是4321,其求解過(guò)程如下:
(1)由1234除以10得到商123和余數(shù)4,O乘以10再加上4得到4;
(2)由123除以10得到商12和余數(shù)3,4乘以10再加上3得到43;
(3)由12除以10得到商l和余數(shù)2,43乘以10再加上2得到432;
(4)由1除以10得到商0和余數(shù)1,432乘以10再加上1得到4321。
【C函數(shù)2】
unsigned int reverse(unsigned int n)
{
unsigned int result=0;
while( (1) ){
result= result *10+ n%10,
n= (2)__;
}
retun result,
}
【問(wèn)題2] (6分)
請(qǐng)根據(jù)說(shuō)明2,填充C函數(shù)2中的空缺(1)和(2)。
【問(wèn)題3](3分)
用567,1234,56781234,62354879643分別作為實(shí)參調(diào)用函數(shù)reverse,對(duì)應(yīng)的返回值分別為765,4321,43218765,1357400630。請(qǐng)說(shuō)明以62354879643作為實(shí)參調(diào)用函數(shù)reverse時(shí)返回結(jié)果出錯(cuò)的原因。