开发者社区> 问答> 正文

为什么buf02和buf03不能一起输出

#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
#include
/*
2、有一个字符串”1a2b3d4z”,;
要求写一个函数实现如下功能,
功能1:把偶数位字符挑选出来,组成一个字符串1。valude;20分
功能2:把奇数位字符挑选出来,组成一个字符串2,valude 20
功能3:把字符串1和字符串2,通过函数参数,传送给main,并打印。
功能4:主函数能测试通过。
int getStr1Str2(char *souce, char *buf1, char *buf2);
*/
int getStr1Str2(char *souce, char *buf1, char *buf2)
{
char *p1=souce;
char *p2=buf1;
char *p3=buf2;
int i=0;
int j=1;
if(souce==NULL||buf1==NULL||buf2==NULL)
{
return -1;
}
   while(*p1!='\0')
  {
    *p2++=p1[i];
    *p3++=p1[j];
     i=i+2;
     j=j+2;
  }

return 0;
}
int main ()
{
char buf01[]="1a2b3d4z";
char buf02[64]={0};
char buf03[64]={0};
getStr1Str2(buf01,buf02,buf03);
printf("%s\n",buf02);
printf("%s\n",buf03);
return 0;
}

展开
收起
DM。 2020-05-28 13:30:08 846 0
1 条回答
写回答
取消 提交回答
  • #include <stdio.h>
    /*
    2、有一个字符串”1a2b3d4z”,;
    要求写一个函数实现如下功能,
    功能1:把偶数位字符挑选出来,组成一个字符串1。valude;20分
    功能2:把奇数位字符挑选出来,组成一个字符串2,valude 20
    功能3:把字符串1和字符串2,通过函数参数,传送给main,并打印。
    功能4:主函数能测试通过。
    int getStr1Str2(char *souce, char *buf1, char *buf2); 
    */
    int getStr1Str2(char *souce, char *buf1, char *buf2)
    {
        char *p1=souce;
        char *p2=buf1;
        char *p3=buf2;
    
        if(souce==NULL||buf1==NULL||buf2==NULL)
        {
            return -1;
        }
        for (int i = 0; p1[i]; i++)
        {
            if (i % 2 == 0) 
            {
                *p2 = p1[i];
                p2++;
            }
            else
            {
                *p3 = p1[i];
                p3++;
            }
        }
        *p2 = *p3 = 0;
        return 0;
    }
    int main ()
    {
        char buf01[]="1a2b3d4z";
        char buf02[64]={0};
        char buf03[64]={0};
        getStr1Str2(buf01,buf02,buf03);
        printf("%s\n",buf02);
        printf("%s\n",buf03);
        return 0;
    }
    
    

    image.png

    2020-05-29 18:15:21
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载