问题 问答题

阅读以下说明和C函数,将应填入____处的语句或语句成分写在答题纸的对应栏内。

说明1:函数deldigit(char*s)的功能是将字符串s中的数字字符去掉,使剩余字符按原次序构成一个新串,并保存在原串空间中。其思路是:先申请一个与s等长的临时字符串空间并令t指向它,将非数字字符按次序暂存入该空间,最后再复制给s。【C函数】

说明2:函数reverse(char*s,intlen)的功能是用递归方式逆置长度为len的字符串s。例如,若串s的内容为"abcd",则逆置后其内容变为"dcba"。【C函数】

答案

参考答案:

(l)strlen(s)(2)s[i](3)t[k](4)len>1(5)s+1,len-2

解析:函数deldigit(char*s)的思路是先申请一个与s等长的临时字符串空间并令t指向它,则(1)完成该步骤。s的长度用strlen()函数求得,这个函数在题"i=’0’&&*(s+i)<=’9’"表示用ASCI码逐个判断s中的字符是否为数字,如果是非数字,则该字符暂存入该空间t。因此(2)中应填"s[i]"。因为每次赋值之后,k都自动加1,所以,设置串尾结束符时,k不必再加1,直接将(3)填为"t[k]"。函数reverse(char*s,intlen),函数中又有reverse函数,说明本程序是个递归函数。那么需要判断该串是否为只含有1个字母的串。当长度大于1时,才需要继续递归,因此,(4)中应填"len>1"。本函数逆置字符串的做法是将串的第一字符和最后一个字符对换。然后递归剩下的字符串。因此,(5)中应填"s+1,len-2"。

单项选择题 B1型题
多项选择题