删除非字母字符
#include <stdio.h> int main(void) { char line[100]; int i, j; printf("输入一个字符串:"); fgets(line, sizeof(line), stdin); // 输入流中一个字符一个字符地填充到数组中 for(i=0; line[i]!='\0'; i++) // 遍历数组的每一个字符,line[i]!='\0';表示还没有到达字符串末尾,C中自动定义了数组的最后一个字符是\0 { // 删除不是字母的字符 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] = line[j+1]; } line[j] = '\0'; // 保持末尾是\0符号,保持原来字符的样式 } } // 输出 puts(line); return 0; }
运行: