将字符串str1中的字母字符复制到另一字符串str2中,如输入str1字符串为abcd123ABCD,输出str2字符串为abcdABCD。要求在主函数中输入字符串str1,并输出复制结果,在被调用函数中完成复制。 输入格式要求:gets(str1)
时间: 2024-01-22 21:18:18 浏览: 76
以下是使用C语言实现的代码:
```c
#include <stdio.h>
#include <string.h>
void copyLetters(char *str1, char *str2) {
int len = strlen(str1);
int j = 0;
for (int i = 0; i < len; i++) {
if ((str1[i] >= 'a' && str1[i] <= 'z') || (str1[i] >= 'A' && str1[i] <= 'Z')) {
str2[j++] = str1[i];
}
}
str2[j] = '\0'; // 字符串结尾要加上'\0'
}
int main() {
char str1[100], str2[100];
printf("请输入字符串str1:");
gets(str1);
copyLetters(str1, str2);
printf("复制结果为:%s", str2);
return 0;
}
```
在被调用函数`copyLetters()`中,我们使用`strlen()`函数获取输入字符串的长度,然后遍历字符串中的每个字符,判断是否为字母字符,如果是,则将其复制到`str2`中,并通过一个指针`j`来记录`str2`中字符的个数。最后,在`str2`的末尾添加一个`\0`字符,表示该字符串的结束。
在主函数中,我们先输入字符串`str1`,然后调用`copyLetters()`函数,将复制结果保存在`str2`中,并打印输出。注意,由于`gets()`函数不安全,可能会导致缓冲区溢出等问题,建议使用`fgets()`函数代替。
阅读全文