| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1870 人关注过本帖
标题:看看哪里有错,自定义函数实现字符串的连接功能(不调用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: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:3 
最后的    应该是*point='\0';

DO IT YOURSELF !
2012-12-14 22:55
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册: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: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册: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: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册: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: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册: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
快速回复:看看哪里有错,自定义函数实现字符串的连接功能(不调用strcat函数), ...
数据加载中...
 
   



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

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