| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 442 人关注过本帖
标题:字符串的连接
只看楼主 加入收藏
yu1543054075
Rank: 1
等 级:新手上路
帖 子:102
专家分:8
注 册:2015-4-30
结帖率:90.24%
收藏
已结贴  问题点数:10 回复次数:6 
字符串的连接
//实现两个串的连接
#include<stdio.h>
#include<stdlib.h>
typedef struct
{
    char *ch;
    int len;
}Hstring;
void concatstring(Hstring s,Hstring p,Hstring q)
{
    int i;
    s.ch=malloc((p.len+q.len)*sizeof(char));//根据所需容量申请空间
    for(i=0;i<p.len;i++)
        s.ch[i]=p.ch[i];
    for(i=0;i<q.len;i++)
        s.ch[i+p.len]=q.ch[i];
    s.len=p.len+q.len;
    puts(s.ch);
}
int main(void)
{
    int i;
    Hstring s,s1,s2;
    s1.len=0;
    s2.len=0;
    printf("请输入第一个字符串s1:\n");
        scanf("%s",s1.ch);
    printf("请输入第二个字符串s2:\n");
        scanf("%s",s2.ch);
    for(i=0;s1.ch[i]!='\0';i++)
        s1.len++;
    for(i=0;s2.ch[i]!='\0';i++)
        s2.len++;
    concatstring(s,s1,s2);
}
C:\Users\Administrator\Desktop\c21.c(27) : warning C4700: local variable 's1' used without having been initialized
C:\Users\Administrator\Desktop\c21.c(29) : warning C4700: local variable 's2' used without having been initialized
C:\Users\Administrator\Desktop\c21.c(34) : warning C4700: local variable 's' used without having been initialized
搜索更多相关主题的帖子: include 字符串 空间 
2015-05-01 09:52
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:8 
#include<stdio.h>
#include<stdlib.h>
typedef struct
{
    char *ch;
    int len;
}Hstring;
void concatstring(Hstring s,Hstring p,Hstring q)
{
    int i;
    s.ch=(char *)malloc((p.len+q.len)*sizeof(char));//根据所需容量申请空间
    for(i=0;i<p.len;i++)
        s.ch[i]=p.ch[i];
    for(i=0;i<q.len;i++)
        s.ch[i+p.len]=q.ch[i];
        s.ch[i+p.len]='\0';
    s.len=p.len+q.len;
    puts(s.ch);
}
int main(void)
{
    int i;
    Hstring s,s1,s2;
    s1.len=0;
    s2.len=0;
    printf("请输入第一个字符串s1:\tabc_\n");
        s1.ch="abc_";
    printf("请输入第二个字符串s2:\tdef\n");
        s2.ch="def";
    for(i=0;s1.ch[i]!='\0';i++)
        s1.len++;
    for(i=0;s2.ch[i]!='\0';i++)
        s2.len++;
    concatstring(s,s1,s2);
}

剑栈风樯各苦辛,别时冰雪到时春
2015-05-01 10:43
yu1543054075
Rank: 1
等 级:新手上路
帖 子:102
专家分:8
注 册:2015-4-30
收藏
得分:0 
如何输入任意的字符串,而不是特定的呢
2015-05-01 11:10
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2277
专家分:10647
注 册:2015-3-19
收藏
得分:0 
#include<stdio.h>
#include<stdlib.h>
typedef struct
{
    char ch[80];
    int len;
}Hstring;
void concatstring(Hstring s,Hstring p,Hstring q)
{
    int i;
    for(i=0;i<p.len;i++)
        s.ch[i]=p.ch[i];
    for(i=0;i<q.len;i++)
        s.ch[i+p.len]=q.ch[i];
        s.ch[i+p.len]='\0';
    s.len=p.len+q.len;
    puts(s.ch);
}
int main(void)
{
    int i;
    Hstring s,s1,s2;
    s1.len=0;
    s2.len=0;
    printf("请输入第一个字符串s1:\tabc_\n");
        gets(s1.ch);
    printf("请输入第二个字符串s2:\tdef\n");
        gets(s2.ch);
    for(i=0;s1.ch[i]!='\0';i++)
        s1.len++;
    for(i=0;s2.ch[i]!='\0';i++)
        s2.len++;
    concatstring(s,s1,s2);
}

剑栈风樯各苦辛,别时冰雪到时春
2015-05-01 16:07
yu1543054075
Rank: 1
等 级:新手上路
帖 子:102
专家分:8
注 册:2015-4-30
收藏
得分:0 
我编译了一下楼上的代码,但是还会出现这个警告c:\Users\Administrator\Desktop\c21.c(69) : warning C4700: local variable 's' used without having been initialized,不知道为什么?
2015-05-01 18:30
诸葛欧阳
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:流年
等 级:贵宾
威 望:82
帖 子:2790
专家分:14619
注 册:2014-10-16
收藏
得分:2 
s没有初始化

一片落叶掉进了回忆的流年。
2015-05-01 19:03
鲤鱼爱美丽
Rank: 8Rank: 8
来 自:冥界
等 级:蝙蝠侠
威 望:5
帖 子:288
专家分:843
注 册:2015-4-8
收藏
得分:0 
local variable 's' used without having been initialized
懂点英文还是很重要的

代码代码,带着的石头码!!!
2015-05-01 20:21
快速回复:字符串的连接
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024673 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved