标题:关于使用指针实现字符串拼接的问题,望解答
只看楼主
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
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册: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
帖 子:705
专家分:2043
注 册: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



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




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

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