用指针编写函数saveAlpha过滤字符串中非字母,只保留字母,用C语言编译
时间: 2024-02-05 20:10:25 浏览: 79
c语言面试题之双指针反转字符串中的元音字母.zip
以下是一个示例代码,使用指针编写了函数saveAlpha,用于过滤字符串中的非字母字符,只保留字母字符。
```c
#include <stdio.h>
#include <ctype.h>
void saveAlpha(char *str) {
char *p = str; // 指向字符串的指针
// 遍历字符串,只保留字母字符
while (*p != '\0') {
if (isalpha(*p)) {
*str++ = *p;
}
p++;
}
*str = '\0'; // 新字符串以 '\0' 结尾
}
int main() {
char str[100];
printf("请输入字符串:");
gets(str); // 输入字符串
saveAlpha(str); // 过滤字符串中的非字母字符
printf("过滤后的字符串为:%s\n", str);
return 0;
}
```
在上面的代码中,我们首先定义了一个指向字符串的指针 p,然后遍历字符串,判断每个字符是否为字母字符,如果是,则将其复制到新字符串的末尾,并将指向新字符串的指针 str 向后移动一位。最后,我们在新字符串的末尾添加一个 '\0' 结束符,表示新字符串的结束。
阅读全文