首页 > 试题广场 >

编写一个程序,采用一个函数实现字符串的前后连接和后前连接。

[问答题]
编写一个程序,采用一个函数实现字符串的前后连接和后前连接。
推荐
编写函数stradd(char * s,char * t,int flag),用于返回合并够用的字符串。先分配一个长度为s和t之和的空间st,若标志flag为1,先将s复制到st中,后将t复制到st中;若标志flag为0,先将t复制到st中,后将s复制到st中;最后设置字符串结束标志并返回st。程序如下:
#include <stdio.h>
#include <string.h>
$include <malloc.h>
#define M 100
char * stradd(char * s,char * t,int flag)
{
    char * st, * ptr;
    int i,n=strlen(s)+strlen(t);
    st=(char * )malloc(sizeof(n+1));
    ptr=st;
    if(flag==1)
    {    for (i=0;s[i]!='\0';i++ )
           * ptr++=s[i];
       for (i=0;t[i]!='\0';i++ )  
           * ptr++=t[i];
    }
    else
    {    for (i=0;t[1]!='\0';i++ )
           * ptr++=t[i];
       for (i=0;s[i]!='\0';i++ )
           * ptr++=s[i];
    }
     * ptr='\0';
    return st;
}
void main()
{
    char s[M],t[M];
    printf("s串:");
    gets(s);
    printf("t串:");
    get(t);
    printf("合并结果:\n");
    printf("%s\n",stradd(s,t,1));
    printf("%s\n",stradd(s,t,0));
}
发表于 2018-05-07 10:58:35 回复(0)