永发信息网

用C连接两个字符串

答案:2  悬赏:50  手机版
解决时间 2021-01-25 09:10
#define MAXSTRLEN 255
#define TRUE 1
#define FALSE 0
typedef struct
{
char str[MAXSTRLEN];
int len;
}s_string;
int concat(s_string *s1, s_string *s2, s_string *t)
{

}
void main()
{
s_string *s,*t,*r;
clrscr();
s=(s_string *)malloc(sizeof(s_string));
t=(s_string *)malloc(sizeof(s_string));
r=(s_string *)malloc(sizeof(s_string));
gets(s->str);
gets(t->str);
s->len=strlen(s->str);
t->len=strlen(t->str);
if(!concat(s,t,r)) printf("the string is cut!\n");
else printf("the string is uncut.\n");
printf("%s\n",r->str);
}
最佳答案
好久不玩这个了:下面纯手工编写, 没有测试, 你可以测试一下看看。

int concat(s_string *s1, s_string *s2, s_string *t)
{
int totalLength = 0 ;
int temp = 0 ;
int i=0;
int retValue = 0;
totalLength = s1->len + s2->len
if totalLength > sizeof(t) {retValue = 1}
if s1->len > sizeof(t) -1 || s2->len > sizeof(t)-1 {retValu = 2; return retValue;}

for(i=0;ilen;i++)
{
t->str[i] = s1->str[i];
}

if retValue ==0
{
for (i=s1->len;ilen+s2->len;i++)
{
t->str[i]=s2->str[i-s1->len]
}
}
else
{
for (i=s1->len;i {
t->str[i] = s2->str[i-s1->len]
}
}

t->str[i] = '\0'
return retValue;
}
全部回答
#include #include #include int main(void) { char string1[20],string2[20],string3[40]; int len1,len2,i = 0,j=0; printf("输入第一个字符串!:"); gets(string1); printf("输入第二个字符串!:"); gets(string2); len1 = strlen(string1); len2 = strlen(string2); string1[len1-1] = ‘\0’; string1[len2-1] = ‘\0’; while(string1[i]!='\0'&&string2[i]!='\0') { string3[j++] = string1[i]; string3[j++] = string2[i]; i++; } if(string1[i] == '\0') { while(string2[i]!='\0') { string3[j++] = string2[i]; i++; } } if(string2[i] == '\0') { while(string1[i]!='\0') { string3[j++] = string1[i]; i++; } } string3[i] = '\0'; printf("%s\n",string3); return 0; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
金源世纪城老板跑路了
六年级女生夏天在校住宿应该带什么
奥博瓷砖地址有知道的么?有点事想过去
娄底步步高手机售后服务点在哪?
shark tank 是什么意思
亚卡迪亚(进口)瓷砖怎么去啊,我要去那办事
无锡市小升初异地上学需哪五证
【十九是什么意思】死者十九的十九是什么意思
今天早上五点过上高速 因为第一次上高速不知
诺基亚e71支持移动3g吗
小提琴曲《最后的抉择 》含义
13.78万化成整数是多少
王者陶瓷地址在哪,我要去那里办事
lcd density changer 怎么把320*240的分辨率
地球上各种不同类型的生态系统具有不同的调节
推荐资讯
利铭茶苑地址在哪,我要去那里办事
【历史朝代顺序表及时间】中国历史朝代顺序表
请问我刚买的新机第一次应该怎么充电,是彻底
每当心憋的难受的时候,我特别喜欢看一句话“
登特口腔(莲花店)地址在哪,我要去那里办事
含有红细胞的尿叫作什么
在干旱地区最好种什么花?
我以前在其他地方办过暂住证,但是我的暂住证
曲坊村地址在哪,我要去那里办事
杭州市哪里能借高利贷
08款上汽旗云1.6远光灯是多少w什么型号
特别美容美发厅地址在什么地方,想过去办事
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?