在此示例中,您將學(xué)習(xí)從用戶(hù)輸入的字符串中刪除除字母之外的所有字符。
要理解此示例,您應(yīng)該了解以下C語(yǔ)言編程主題:
#include <stdio.h>
int main() {
char line[150];
printf("輸入一個(gè)字符串: ");
fgets(line, sizeof(line), stdin); //接受輸入
for (int i = 0, j; line[i] != '\0'; ++i) {
//如果字符不是字母,則進(jìn)入循環(huán)
//不是空字符
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個(gè)元素不是字母,
//將第(j + 1)個(gè)元素的值分配給第j個(gè)元素
line[j] = line[j + 1];
}
line[j] = '\0';
}
}
printf("輸出字符串: ");
puts(line);
return 0;
}輸出結(jié)果
輸入一個(gè)字符串: n2'h-o@84oo./ 輸出字符串: nhooo
該程序從用戶(hù)獲取字符串輸入并將其存儲(chǔ)在line變量中。然后,使用for循環(huán)來(lái)遍歷字符串的字符。
如果字符串中的字符不是字母,則將其從字符串中刪除,其余字符的位置向左移動(dòng)1個(gè)位置。