| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1658 人关注过本帖
标题:关于使用指针实现字符串拼接的问题,望解答
只看楼主 加入收藏
keka
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2020-3-20
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
关于使用指针实现字符串拼接的问题,望解答
代码如下:
#include<stdio.h>
char* Mystrcat(char* str1, char* str2)
{
    char* outcome = str1;
    while (*str1)
        str1++;
    while (*str1++ = *str2++);
    return outcome;
}

int main(void)
{
   

    char str1[14];
    char str2[14];
    printf("输入第一个字符串:");
    scanf("%s", &str1);
    printf("输入第二个字符串:");
    scanf("%s", &str2);
    Mystrcat(str1, str2);
    printf("拼接后的字符串是:%s\n", str1);
}
我想知道的是自定义函数中的两个while循环的原理,我看不懂、理解不了它是怎么将两个字符串拼接起来的。
求助
搜索更多相关主题的帖子: while 字符串 char 指针 printf 
2020-06-17 12:12
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:5 
while( *str1 != '\0' )
    str1++;
while( (*str1++=*str2++) != '\0' );


加了红色部分的代码能看懂吗?若还是看不懂,我没办法了
2020-06-17 12:43
keka
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2020-3-20
收藏
得分:0 
回复 楼主 keka
多谢,不过我还是没搞懂两个字符串是咋拼接起来的原理。。。
2020-06-17 22:30
ditg
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:16
帖 子:852
专家分:1937
注 册:2014-4-10
收藏
得分:10 
找到字符串一尾端0,从这里开始复制字符串二(包括0)

若还是看不懂,我也没办法了

[此贴子已经被作者于2020-6-18 02:30编辑过]


梦想拥有一台龙芯3A-4000
2020-06-18 00:51
八画小子
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:37
帖 子:709
专家分:2063
注 册:2010-11-11
收藏
得分:5 
以下是引用keka在2020-6-17 22:30:38的发言:

多谢,不过我还是没搞懂两个字符串是咋拼接起来的原理。。。

给你两个字符串,第一个字符串是"abcde",第二个字符串是"fghijklmn"。不要管代码是怎么写的,你自己按照自己的想法在纸上手动拼接一下。如果还看不出来,建议你改行。
2020-06-18 07:33
keka
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2020-3-20
收藏
得分:0 
回复 4楼 ditg
懂了 多谢
2020-06-18 10:38
快速回复:关于使用指针实现字符串拼接的问题,望解答
数据加载中...
 
   



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

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