代码拉取完成,页面将自动刷新
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*
将一个字符串的奇数位和偶数位分别抽取出来保存到一个数组
*/
int getoddevent(char* src, char **odd, char **even)//这个需要传递指针的地址作为参数
{
//需要分配空间
*even = (char*)malloc(100);
*odd = (char*)malloc(100);
if (src == NULL||*odd==NULL||*even==NULL)
{
return -1;
}
int i = 0;
int count1 =0;
int count2 = 0;
int len = strlen(src);
//printf("src=%s\n", src);
char tem1[100];
char tem2[100];
for ( i = 0; i < len; i++)
{
if (i % 2 == 0){
tem1[count1] = src[i];
count1++;
}
else
{
tem2[count2] = src[i];
count2++;
}
}
tem1[count1] = 0;
tem2[count2] = 0;
//printf("even=%s,odd=%s\n", tem1, tem2);
strcpy(*even ,tem1);//在进行这一步之前,一定要注意*even必须指向一个合法内存单元
strcpy(*odd , tem2);
return 0;
}
int getoddevent2(char* src, char *odd, char *even)//这个需要传递数组作为参数
{
if (src == NULL || odd == NULL || even == NULL)
{
return -1;
}
char * tmp1 = odd;
char *tmp2 = even;
int i = 0;
int n1 = 0;
int n2 = 0;
int len = strlen(src);
for (i = 0; i < len; i++)
{
if (i % 2 == 0)
{
*tmp2 = src[i];
tmp2++;
n1++;
}
else
{
*tmp1 = src[i];
tmp1++;
n2++;
}
}
//printf("%s,%s\n", tmp1, tmp2);
even[n1] = 0;
odd[n2] = 0;
return 0;
}
int getoddevent3(char* src, char *odd, char *even)//这个需要传递数组作为参数
{
if (src == NULL || odd == NULL || even == NULL)
{
return -1;
}
int i = 0;
int len = strlen(src);
for (i = 0; i < len; i++)
{
if (i % 2 == 0)
{
*even = src[i];
even++;
}
else
{
*odd = src[i];
odd++;
}
}
//printf("%s,%s\n", tmp1, tmp2);
*even = 0;
*odd = 0;
return 0;
}
int main(int argc, char const *argv[])
{
char * p = "a1b2c3d4e5f6";
char *even;
char *odd;
getoddevent(p, &odd, &even);
printf("even=%s,odd=%s\n", even, odd);
printf("=================================================\n");
char even1[50];
char odd1[50];
getoddevent3(p, odd1, even1);
printf("even1=%s,odd1=%s\n", even1, odd1);
system("pause");
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。