C语言连接两个字符串
一种是使用C语言自带的strcat函数来完成,strcat(str1,str2),可以将str2指定的字符串连接到str1指定的字符串后面,结果存储在指定的字符数组中,str1指定的字符串原来最后面的‘\0’被取消。因为要把str2接在str1后面,所以应该多给str1分配一些内存。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>int main()
{char str1[128]={0};char str2[32]={0};scanf("%s %s",str1,str2);printf("%s\n",strcat(str1,str2));printf("\n");system("pause");return 0;
}
另一种就是自己写一个函数,让str2中的字符串接在str1上。我定义了3个字符数组str1,str2,str3,其中str3用来存储str1和str2的内容。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>char str3[200];//长度最好大于str1+str2的长度之和,以避免溢出
void connect(char str1[],char str2[]);int main()
{char str1[100];char str2[100];scanf("%s %s",str1,str2);connect(str1,str2);printf("%s",str3);printf("\n");system("pause");return 0;
}void connect(char str1[],char str2[])
{int i=0,j=0;while(str1[i]!='\0'){/*str3[j]=str1[i];i++;j++;*/str3[j++]=str1[i++];}i=0;while(str2[i]!='\0'){/*str3[j]=str2[i];i++;j++;*/str3[j++]=str2[i++];}str3[j]='\0';
}
在写完这个代码后我发现虽然连接了两个字符串,但多定义了一个数组,是对内存的一种浪费,于是进行了优化,将str2直接接在str1上。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>void connect(char str1[],char str2[])
{int i=0,j=0;//计数while(str1[i]!='\0') i++;while(str2[j]!='\0'){str1[i]=str2[j];i++;j++;//也可以写成str1[i++]=str2[j++] }
}int main()
{char str1[128]={0};char str2[32]={0};scanf("%s %s",str1,str2);connect(str1,str2);printf("%s\n",str1);printf("\n");system("pause");return 0;
}
可以在这些代码里面使用strlen函数看看前后字符串长度的改变,这里我就不罗列出来了。
C语言连接两个字符串相关推荐
- c语言 连接两个字符串不使用库函数
#include<stdio.h> void main(){//输入两个字符串并连接 不能使用库函数strcat//字符串str1printf("please enter str ...
- 连接两个字符串(c语言)
利用两种方法实现连接两个字符串. 方法1:利用C语言的库函数strcat()来实现两个字符串的连接. 方法2:不允许使用连接函数strcat(),即自己编写程序将字符串2中的字符逐个复制到字符串1的后 ...
- c语言字符串连接作用,C语言 不使用strcat函数实现连接两个字符串功能代码
字符串连接函数: 字符串连接就是将一个字符串连接到另一个字符串的末尾,使其组合成一个新的字符串,在字符串处理函数中,strcat 函数具有字符串连接功能.下面是用C语言实现不使用是strcat 函数 ...
- c语言连接字符串不用strcat,不要strcat函数连接两个字符串
不用strcat函数连接两个字符串 程序如下: #include "stdio.h" #include "conio.h" #include "mat ...
- C语言如何实现连接两个字符串?通俗易懂,一点就通!
题目:如何连接两个字符串? #include <stdio.h> int main() {char s1[80],s2[80]; //定义两个字符串数组int i,j; //定义两个循环变 ...
- python中如何连接两个字符串_python字符串连接的N种方式总结
python中有很多字符串连接方式,今天在写代码,顺便总结一下: 最原始的字符串连接方式:str1 + str2 python 新字符串连接语法:str1, str2 奇怪的字符串方式:str1 st ...
- python中如何连接两个字符串_python中5种连接字符串的方法
字符串是Python中常用的数据类型,在开发过程中可以对字符创进行截取并与其他字符创进行连接.本文为大家介绍了5种连接字符串的方法. 1.加号 如果有其他编程语言开发经验的人,肯定知道很多语言里面是用 ...
- php两个字符串公共,C++_C语言求两个字符串的最长公共子串,本文实例讲述了C语言求两个字 - phpStudy...
C语言求两个字符串的最长公共子串 本文实例讲述了C语言求两个字符串的最长公共子串的方法.分享给大家供大家参考.具体实现方法如下: #include "stdio.h" #inclu ...
- C语言比较两个字符串相等为什么不是用“==”
C语言比较两个字符串相等为什么不是用"=="? 今天在学习C语言编程时,遇到需要比较两个字符串是否相等的问题,习惯性的想到用"=="去比较,可是输出的结果却大相 ...
最新文章
- 通过BeanFactory获取bean的几种方法
- python3爬取数据存入mysql_Python如何爬取51cto数据并存入MySQL
- codeforces gym-101741 Subsequence Sum Queries 分治+离线
- Python Web初学解惑之 WSGI、flup、fastcgi、web.py的关系
- 刚刚有水了一道,用递归实现进制转换
- DBeaver 导出EXCEL文件
- Linux打开文件操作的注意事项
- Office LTSC 2021 for Mac
- linux网络完全与防护
- Raki的读paper小记:Code and Named Entity Recognition in StackOverflow
- POJ 1565 Skew Binary
- 极客日报:《英雄联盟》回应服务器崩了:官方直接回退了旧版本;Deno 1.19 发布|极客头条
- 液晶屏常见问题_如何解决液晶显示器最常见的问题
- CVE-2017-8464震网3.0漏洞分析与复现
- K 个一组翻转链表(递归,Kotlin)
- Flutter 网络请求 Dio 拦截器详解
- 第四章 舞会上的国王
- 牛客网:字节19研发:雀魂启动
- Photoshop开门十件事
- 兄弟2560打印机提示DRUM!
热门文章
- 个人知识管理为什么要软件工具为主理念为次?
- 健身耳机哪个好,运动最佳的几款耳机推荐
- 学习opencv:PS滤镜—等高线
- 侠义java加速_侠义加速版下载-侠义加速版游戏下载v1.7 安卓版-单机手游网
- 有没有测试游戏天赋的软件,lgd游戏天赋测试,lgd游戏天赋测试最新版预约 v1.0-手游汇...
- css碎步测量,工地测量实习报告.doc
- 小密圈的趣味实战-微信主题
- 各种字符编码详解【图文教程】
- Java后端如何对日期做储存并可以以日期排序
- mysql 插入数据时,出现\xF0\x9F\x8F\x80这种情况的处理!