题目描述 编写函数:把一个字符串中的非数字字符取出,生成一个新的字符串。 函数接口定义: void fun(char *s); 其中s是用户传入的参数。 函数fun的功能是把指针s所指字符串中的所有数字字符取出,并重新放回s中。 #include <stdio.h> //函数实现写在这里 int main() { char item[80]; gets(item); fun(item); printf("%s\n",item); return 0; } 样例输入 复制 as12fg 样例输出 复制 12
时间: 2024-02-20 17:58:06 浏览: 57
以下是实现该功能的代码:
```c
#include <stdio.h>
#include <ctype.h>
void fun(char *s) {
char *p = s; // p指向s的首地址
while (*s) {
if (isdigit(*s)) { // 如果是数字字符,就放到p指向的位置
*p++ = *s;
}
s++;
}
*p = '\0'; // 在p指向的位置放置字符串结束符
}
int main() {
char item[80];
gets(item);
fun(item);
printf("%s\n",item);
return 0;
}
```
实现思路:
1. 定义两个指针:s和p,初始时都指向s的首地址。
2. 用while循环遍历字符串s中的每个字符。
3. 如果字符是数字字符,就把它放到p指向的位置,然后p向后移动一位。
4. 最后在p指向的位置放置字符串结束符'\0'。
5. 函数执行完毕后,原字符串s中只剩下数字字符,其他非数字字符被去除了。
阅读全文