C语言 字符串含有数字和字母,去掉所有数字字符 使用函数,函数为void fun1(char * s){}
时间: 2024-03-05 12:52:29 浏览: 18
好的,针对您的问题,可以如下实现 `void fun1(char *s)` 函数:
```c
#include <stdio.h>
#include <ctype.h>
void fun1(char *s) {
char *p = s;
while (*p) {
if (!isdigit(*p)) {
*s++ = *p;
}
p++;
}
*s = '\0';
}
int main() {
char str[100];
printf("请输入一个字符串:\n");
scanf("%s", str);
fun1(str);
printf("去掉数字后的字符串为:%s\n", str);
return 0;
}
```
在这个示例代码中,我们定义了一个函数 `void fun1(char *s)`,该函数的参数为一个字符指针,表示需要处理的字符串。在函数内部,我们使用两个指针 `p` 和 `s` 分别指向字符串的首个字符,然后使用while循环遍历该字符串中的每个字符,使用isdigit函数判断该字符是否为数字字符,如果不是则将其赋值给 `s` 指针指向的位置,并将 `s` 指针向后移动一个位置,否则忽略该字符。最终将 `s` 指针指向的位置赋值为 '\0',表示字符串的末尾。在主函数中,我们通过调用 `fun1` 函数将输入的字符串去掉数字后输出。
希望这个示例代码能够帮助您解决问题,如果您还有其他问题,可以随时提出。