标题:连接字符串,哪里出问题了呢
只看楼主
Tallest2013
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-12-23
结帖率:0
已结贴  问题点数:2 回复次数:6 
连接字符串,哪里出问题了呢
#include<stdio.h>
void strcat(char *a,char *b)
{
    int i=0;
    while(*(a+i)!='\0')
    {
        i++;
    }
    for(int j=0;*(b+j)!='\0';j++,i++)
    {
        *(a+i)=*(b+j);
    }
    *(a+i)='\0';
}

void main()
{
    char ch1[]="ZHONG";
    char ch2[]="sheng";
    strcat(ch1,ch2);
    printf("%s\n",ch1);
}
搜索更多相关主题的帖子: 字符串 sheng 
2013-12-29 14:01
pangshch
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:443
专家分:1966
注 册:2013-4-9
得分:1 
ch1数组不够大.致少要比两个字符串长度的和大1.
2013-12-29 14:06
liu229118351
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:83
专家分:101
注 册:2013-10-23
得分:1 
ch1的数组长度小于两个数组长度之和。。不够存放连接之后的数组。。

单曲循环,需要信心+耐心+恒心
2013-12-29 15:07
a672171896
Rank: 1
等 级:新手上路
帖 子:15
专家分:8
注 册:2013-11-26
得分:1 
你少了一个头文件!#include<string.h>
我帮你改了,你运行一下就对了
#include<stdio.h>
#include<string.h>
void passage(char *a,char *b)/*你要搞清楚,不要把strcat函数名作为自定义函数名!我帮你改成passage,当然这随意*/
{
    int i=0;
    while(*(a+i)!='\0')
    {
        i++;
    }
    for(int j=0;*(b+j)!='\0';j++,i++)
   
        *(a+i)=*(b+j);
   
    *(a+i)='\0';
}
int main()
{
    char ch1[20]="ZHONG";
    char ch2[]="sheng";
    strcat(ch1,ch2);
    puts(ch1);
}
2013-12-29 17:42
zclgni
Rank: 1
等 级:新手上路
帖 子:14
专家分:1
注 册:2013-5-10
得分:1 
ch1[]的数组长不够长,放不下,增大数组长度
2013-12-29 22:33
liu229118351
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:83
专家分:101
注 册:2013-10-23
得分:0 
回复 4楼 a672171896
貌似没有string.h 这个头文件也能用那个字符串的相关函数。。不晓得什么情况

单曲循环,需要信心+耐心+恒心
2013-12-30 10:17
Tallest2013
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2013-12-23
得分:0 
回复 2楼 pangshch
增大了怎么还是有问题呢?
2014-01-08 19:02



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-425854-1-1.html




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

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