标题:看看哪里有错,自定义函数实现字符串的连接功能(不调用strcat函数),要求 ...
只看楼主
zhao72349947
Rank: 1
来 自:成都东软学院
等 级:新手上路
帖 子:60
专家分:5
注 册:2012-10-20
结帖率:83.33%
已结贴  问题点数:10 回复次数:18 
看看哪里有错,自定义函数实现字符串的连接功能(不调用strcat函数),要求用字符指针变量作参数。[code]#include<stdio.h>
自定义函数实现字符串的连接功能(不调用strcat函数),要求用字符指针变量作参数。
程序代码:
#include<stdio.h>
void string_cat (char *source, char *target);
int main()
{
char s1[10000],s2[10000];
gets(s1);
gets(s2);
string_cat(s1,s2);
puts(s1);
}
void string_cat (char *source, char *target)
{char *point=source; 
while(*point) 
point++;
while(*target!='\0') 
{*point=*target;
point++; 
target++; 
} 
*target='\0';
}


[ 本帖最后由 zhao72349947 于 2012-12-14 23:05 编辑 ]
搜索更多相关主题的帖子: include target 字符串 
2012-12-14 22:51
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:3 
最后的    应该是*point='\0';

DO IT YOURSELF !
2012-12-14 22:55
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
另:
建议楼主看看此贴

https://bbs.bccn.net/thread-391286-1-1.html

DO IT YOURSELF !
2012-12-14 22:56
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
得分:0 
个人感觉最后的*point='\0'加不加都行,因为当st1串没有没有被字符沾满时,剩下的空间系统会自动用'\0'全部填充,所以不加*point='\0'这句应该也是一样的


新手瞎说的

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-12-14 23:08
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
以下是引用yaobao在2012-12-14 23:08:19的发言:

个人感觉最后的*point='\0'加不加都行,因为当st1串没有没有被字符沾满时,剩下的空间系统会自动用'\0'全部填充,所以不加*point='\0'这句应该也是一样的


新手瞎说的
为什么不测试一下呢

她在主程序中并么有对字符串数组进行初始化  那不加0 咋能把尾巴割下去呢

DO IT YOURSELF !
2012-12-14 23:09
zhao72349947
Rank: 1
来 自:成都东软学院
等 级:新手上路
帖 子:60
专家分:5
注 册:2012-10-20
得分:0 
怎么改为测试多组数据输出
2012-12-14 23:10
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:0 
回复 6楼 zhao72349947
没明白啥意思

DO IT YOURSELF !
2012-12-14 23:11
zhao72349947
Rank: 1
来 自:成都东软学院
等 级:新手上路
帖 子:60
专家分:5
注 册:2012-10-20
得分:0 
回复 7楼 wp231957
就是把它改为一个循环,重复测试
2012-12-14 23:12
wp231957
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:神界
等 级:版主
威 望:422
帖 子:13681
专家分:53296
注 册:2012-10-18
得分:3 
程序代码:
#include<stdio.h>
void string_cat (char *source, char *target);
int main()
{
    char s1[10000],s2[10000];
    while(1)
    {
        gets(s1);
        gets(s2);
        if(s1[0]=='#' || s2[0]=='#') return 0;
        string_cat(s1,s2);
        puts(s1);
    }
    return 0;
}
void string_cat (char *source, char *target)
{
    char *point=source;
    while(*point)
        point++;
    while(*target!='\0')
    {
        *point=*target;
        point++;
        target++;
    }
    *point='\0';
}
是介个意思吗

DO IT YOURSELF !
2012-12-14 23:15
zhao72349947
Rank: 1
来 自:成都东软学院
等 级:新手上路
帖 子:60
专家分:5
注 册:2012-10-20
得分:0 
回复 9楼 wp231957
谢谢了,就是这个,我弄了半天都不对
2012-12-14 23:18



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




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

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