用指针写1个子函数,实现的功能是把这个字符串str的奇数位的字符构成字符串str1中,偶数位的字符构成字符串str2中。
时间: 2023-06-12 17:07:25 浏览: 86
下面是用指针实现的代码:
```c
#include <stdio.h>
#include <string.h>
void separate(char *str, char *str1, char *str2) {
int len = strlen(str);
int i, j = 0, k = 0;
for (i = 0; i < len; i++) {
if (i % 2 == 0) {
str2[j++] = *(str + i);
} else {
str1[k++] = *(str + i);
}
}
str1[k] = '\0';
str2[j] = '\0';
}
int main() {
char str[] = "abcdefg";
char str1[20], str2[20];
separate(str, str1, str2);
printf("str1: %s\n", str1);
printf("str2: %s\n", str2);
return 0;
}
```
运行结果:
```
str1: bdf
str2: aceg
```
在函数 `separate` 中,首先通过 `strlen` 函数获取字符串 `str` 的长度,然后遍历字符串的每个字符,根据下标的奇偶性将字符分别存储到字符串 `str1` 和 `str2` 中。最后,在 `str1` 和 `str2` 的末尾添加上字符串结束符 `\0`。
阅读全文