问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

编写一个程序,将两个字符串连接起来,不用strcat函数。

发布网友 发布时间:2022-04-23 10:52

我来回答

1个回答

热心网友 时间:2023-10-11 20:21

我觉得你应该先描述一下你为什么认为会有 j=j+1......

首先我猜,可能是逻辑没理清。

首先要明白,在第二个 wile 语句执行前,i 其实是处于字符串最末尾的'\0'位置,而 j 是等于 0。

而每个字符串末尾的'\0'就是用来标识一个字符串结束的,所以拼接字符串其实就是从串 1 的末尾'\0'位置开始讲串 2 的内容全部一个一个的粘贴过去(覆盖'\0'),然后在最后的末尾在添加一个 '\0'用以标识串的结束。

---

但是我又猜,万一是不明白自增、自减的含义呢?

s1[i++]=s2[j++];

i++、j++ 意思是在语句结束后,各自加一。

所以

s1[i++]=s2[j++];

等同于:

s1[i]=s2[j];
i += 1;
j += 1;

不过上面不是严格的等同,但是日常等同过去没问题,原理就涉及到汇编了。

---

最后我又想,也许楼主都会,只是因为代码十分的不友好,看走眼了呢?

所以我又放上增加了一点可读性(加了花括号)的原代码:

#include <stdio.h>
int main()
{
    char s1[80],s2[40];
    int i=0,j=0;
    printf("input string1:");
    scanf("%s",s1);
    printf("input string2:");
    scanf("%s",s2);
    while (s1[i]!='\0')
    {
        i++;
    }
    while(s2[j]!='\0')
    {
        s1[i++]=s2[j++];
    }
    s1[i]='\0';
    printf("\nThe new string is:%s\n",s1);
    return 0;
}

最后的最后,怎么提问实在是一门精妙的艺术。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 编写一个程序,将两个字符串连接起来,并输出(不要使用strcat函数)。用C语言求解详细过程。 C语言:写一个函数,将两个字符串连接起来(用字符数组for循环) 编写函数将给定的两个字符串连接成一个字符串 怀孕梦见扯小瓜是生男生女? c语言:编写一个将两个字符串连接成一个字符串的函数。(不能用strcat函数) 编写函数,实现两个字符串的连接,并将连接后的结果存放在第一个字符串中? 编写函数实现两个字符串的连接,主函数输入两个字符串,调用编写的连接函数,并输出连接后的字符串。 写一个函数,将两个字符串连接。(不能用strcat函数) C语言中怎样设计一个函数实现两个字符串的连接 c语言 写一个函数能将两个字符串连接,在主函数中调用 C语言编程题,写一个函数,将两个字符串连接 编写一个函数实现两个字符串的连接(不使用库函数strcat).这个用C语言怎么写程序啊求详细解释~急! 用指针方案编写一个将两个字符串连接起来的函数,并写出能调用该函数的完整程序。 写一函数,将两个字符串连接 写一个函数,将两个字符串进行连接。 写一个函数,将两个字符串相连 用C语言写一个函数,将两个字符串连接。 用C语言:写一个函数,将两个字符串连接 研发费用如何加计扣除,能举个例子说明下么 北京高新技术企业认定的优惠政策 中国移动申请号码? 如何使用中国移动网上营业厅办理新号码? 大龙虾怎么做?怎样起虾肉 取虾仁怎么取 怎么养好虾:成功养虾从苗种抓起 矿泉水瓶冻虾怎么把虾取出来 京东秒杀60天最低价是什么意思 京东77天最低价什么意思? 京东53天最低价是什么意思? 京东不是双十一凌晨最便宜吧?而是10月20号到11号间说不定哪天出最低价 京东200天最低价是什么意思? 京东自营的秒杀价一般持续第多少天? 京东上面显示36天最低价是什么意思? 被删除的微信聊天记录还能恢复么? 之前删除的微信聊天记录,还可以恢复吗? 什么音乐歌曲你听着听着就哭了? 有没有几首听了就想哭,很悲伤的歌 有没有那种让人一听就想哭的歌曲呢?? 最悲伤、伤感让人听了想哭的歌 最让人听了就会哭的歌曲??