任意输入一字符串,提取该字符串中的非字母和数字字符构成新串并返回给调用函数输出,请帮我编写一个这样的C语言程序
时间: 2024-02-06 10:09:28 浏览: 70
以下是一个简单的C语言程序,可以提取字符串中的非字母和数字字符构成新串并返回给调用函数输出:
```c
#include <stdio.h>
#include <ctype.h>
void extract_non_alnum(char *str, char *result) {
int i, j = 0;
for (i = 0; str[i] != '\0'; i++) {
if (!isalnum(str[i])) {
result[j++] = str[i];
}
}
result[j] = '\0';
}
int main() {
char str[100], result[100];
printf("请输入一个字符串:\n");
scanf("%s", str);
extract_non_alnum(str, result);
printf("非字母和数字字符为:%s\n", result);
return 0;
}
```
程序中的 `extract_non_alnum()` 函数用于提取字符串中的非字母和数字字符,并将结果存储在 `result` 字符数组中。该函数使用了 `ctype.h` 头文件中的 `isalnum()` 函数判断字符是否为字母或数字。程序中的 `main()` 函数用于获取用户输入的字符串,调用 `extract_non_alnum()` 函数,并将结果输出。
阅读全文