C语言fun函数实现将s串中的字母删除,形成新的串放入s地址,在主函数中键盘输入一个不超过30个字符的串并调用fun函数,输出结果
时间: 2023-12-10 18:39:20 浏览: 75
下面是C语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
void fun(char *s)
{
int len = strlen(s);
int k = 0;
for (int i = 0; i < len; i++) {
if (s[i] >= 'a' && s[i] <= 'z') {
s[k++] = s[i];
}
}
s[k] = '\0';
}
int main()
{
char s[31];
printf("请输入不超过30个字符的串:\n");
scanf("%s", s);
fun(s);
printf("删除字母后的新串为:%s\n", s);
return 0;
}
```
首先在 `fun` 函数中,我们使用了 `strlen` 函数来获取字符串的长度,然后使用一个变量 `k` 来记录新串的长度。接着遍历原串,如果当前字符是字母,则将其加入到新串中。最后将新串的末尾赋值为 `'\0'`。
在主函数中,我们先读入一个字符串,然后调用 `fun` 函数来进行删除字母操作,最后输出新串即可。注意,在 `scanf` 函数中我们使用 `%s` 格式来读入字符串,因为这里假设输入的字符串不包含空格。如果需要支持包含空格的输入,可以使用 `fgets` 函数。
阅读全文