以下函数的功能是删除字符串s中的所有数字字符 请填空。void dele(char *s){ int n=0 i;for(i=0;
字符串,函数,字符
已帮助 人
以下函数的功能是删除字符串s中的所有数字字符,请填空。void dele(char *s){ int n=0,i;for(i=0; s[i];i++)if()s[n++]=s[i];s[n]=;}
-
参考答案:(s[i]<48)&&(s[i]>57),’’在本题中,dele函数的功能是删除字符串s中所有的数字字符。删除字符串中的数字字符,首先要求我们能判断出字符串中哪些是数字字符,哪些是非数字字符。在C语言中,一般通过字符的ASCII码来判断,由于C语言中数字字符只有0~9,它们对应的ASCII码值范围是48~57,那么字符串中ASCII码值在48~57范围内的字符就是数字字符,否则就是非数字字符。在本题程序中,dele函数带有一个指针类型的形参,该指针变量指向需要操作的字符串,在循环体中,根据前面的分析,if语言的条件判断语句应该是判定当前所取字符是否为数字字符,从后面的程序分析可以知道,条件结果若为真,即保存当前字符串,说明当前字符为非数字字符,那么用表达式表示应该为(s[i]<48)&&(s[i]>57),当然,这个结果不是唯一的。循环结束后,程序执行第14空所在的程序语句,这个时候获得的字符串是一个去除了数字字符的字符串,我们不难发现这个时候数组的下标n指向所有元素的后一个元素,按照字符串存储的规定,在结束后需要一个结束标识符‘’,而本题中正好缺少这样一个标识符,因此,第14空的作用是为新字符串添加结束标识符‘’,答案为‘’。
