编写一个函数proc2,把字符串中的数字字符保存到新串,并把新串复制给源串。在主函数中测试。用c语言实现
时间: 2024-02-27 17:52:52 浏览: 129
Canary机制及绕过策略-格式化字符串漏洞泄露Canary
下面是一个实现该功能的示例程序,其中 `proc2()` 函数将输入的字符串中的数字字符保存到新串中,然后将新串复制给源串:
```c
#include <stdio.h>
#include <string.h>
char* proc2(char* str) {
char new_str[100] = {0};
int len = strlen(str);
int j = 0;
for (int i = 0; i < len; i++) {
if (str[i] >= '0' && str[i] <= '9') { // 判断是否为数字字符
new_str[j++] = str[i]; // 保存数字字符
}
}
strcpy(str, new_str); // 将新串复制给源串
return str;
}
int main() {
char str[100];
printf("请输入一个字符串:\n");
fgets(str, 100, stdin);
printf("你输入的字符串是:%s\n", str);
printf("处理后的字符串是:%s\n", proc2(str));
return 0;
}
```
在上面的程序中,我们定义了一个 `proc2()` 函数,接收一个字符串作为参数,然后遍历字符串中的每个字符,如果是数字字符,则将其保存到一个新的字符串中。最后,将新的字符串复制给源字符串。
在主函数中,我们从标准输入读入一个字符串,并调用 `proc2()` 函数将其处理成只包含数字字符的字符串,并输出处理后的结果。
需要注意的是,`proc2()` 函数直接修改了输入的字符串,因此在调用函数时,需要传入一个可修改的字符数组。
阅读全文