跳到主要内容

C 编程:移除字符串中非字母字符的程序

要理解这个示例,你应该具备以下C语言编程相关知识:

删除字符串中除字母外的所有字符

#include <stdio.h>
int main() {
char line[150];

printf("Enter a string: ");
fgets(line, sizeof(line), stdin); // 接收输入


for (int i = 0, j; line[i] != '\0'; ++i) {

// 如果字符不是字母且不是空字符,则进入循环
while (!(line[i] >= 'a' && line[i] <= 'z') && !(line[i] >= 'A' && line[i] <= 'Z') && !(line[i] == '\0')) {
for (j = i; line[j] != '\0'; ++j) {

// 如果line数组的j位置上的元素不是字母,
// 则将(j+1)位置上的元素赋值给j位置
line[j] = line[j + 1];
}
line[j] = '\0';
}
}
printf("Output String: ");
puts(line);
return 0;
}

输出

Enter a string: p2'r-o@gram84iz./
Output String: mashangxue123

这个程序从用户那里接收一个字符串输入,并存储在line变量中。然后,使用一个for循环来迭代字符串中的字符。

如果字符串中的字符不是字母,则从字符串中删除该字符,并将剩余字符向左移动1个位置。