C语言字符数组常用函数实现
C语言中字符数组的常用函数有以下几个:
strlen(str):返回字符串str的长度;
strcpy(str1,str2):将字符串str2复制到字符串str1中,并返回字符串str1;
strchr(str,ch):返回在字符串str中第一次出现指定的字符ch的地址;
strcat(str1,str2):将字符串str2连接到字符串str1的尾部,并返回连接后的字符串str1;
strcmp(str1,str2):比较两个字符串str1和str2,若str1大于(等于、小于)str2,则返回大于(等于、小于)0的数;
strstr(str1,str2):在字符串str1中查找指定的字符串str2第一次出现的位置,并返回地址值;
函数的实现:
1.strlen(str)
#include <stdio.h>
#include <string.h>
#define N 100void main()
{int i = 0;char str[N];printf("input a str:");/*//字符串的输入 fgets(str,6,stdin);gets(str);for(i = 0;i < 5;i++)scanf("%s",str);i = strlen(str); //使用strlen();
*/while( str[i] != '\0') //自定义实现{i++;} printf("%d\n",i);}
2.strcpy(str1,str2)
#include <stdio.h>
#include <string.h>
#define N 100void main()
{int i = 0;int j = 0;char str1[N] = {0};char str2[N] = {0};printf("input a str1:");gets(str1);printf("input a str2:");gets(str2);// strcpy(str1,str2); //strcpy();while(str2[i] != '\0') //自定义实现strcpy();{str1[i] = str2[i];i++;}puts(str1);
}
3.strchr(str,ch)
#include <stdio.h>
#include <string.h>
#define N 100void main()
{int i = 0;char ch;char str[N];printf("input a str:");gets(str);printf("input a char:");ch = getchar();// printf("%d\n",strchr(str,ch)); //打印地址
// printf("%s\n",strchr(str,ch)); //打印ch及后面的字符while(str[i] != '\0') //自定义实现strchr();{if(str[i] == ch)break;i++;}printf("%d\n",i);
}
4.strcat(str1,str2)
#include <stdio.h>
#include <string.h>
#define N 100void main()
{int i = 0;int j = 0;char str1[N] = {0};char str2[N] = {0};printf("input a str1:");gets(str1);printf("input a str2:");gets(str2);strcat(str1,str2); //strcat();/* while(str1[i] != '\0') //自定义实现strcat();i++;while(str2[j] != '\0'){str1[i+j] = str2[j];j++;}*/ puts(str1);}
5.strcmp(str1,str2)
#include <stdio.h>
#include <string.h>
#define N 100void main()
{int i = 0;int j = 0;char str1[N] = {0};char str2[N] = {0};printf("input a str1:");gets(str1);printf("input a str2:");gets(str2);// j = strcmp(str1,str2); //strcmp();// printf("%d\n",j);while((str1[i] == str2[i]) && (str1[i] != '\0'))//自定义实现strcmp();打印不同字符的差值i++;printf("%d\n",str1[i] - str2[i]);}
6.strstr(str1,str2)
#include <stdio.h>
#include <string.h>
#define N 100void main()
{int i = 0;int j = 0;int k = 0;char str1[N] = {0};char str2[N] = {0};printf("input a str1:");gets(str1);printf("input a str2:");gets(str2);// j = strstr(str1,str2); //strstr();// printf("%d\n",j);while(str1[i] != '\0') //自定义实现strstr();打印查找到的地址值,若没有查到,则返回0{if(str1[i] != str2[j])i++;if(str1[i] == str2[j]){i++;j++;if(str2[j] == '\0'){k = 0;break;}if(str1[i] != str2[j]){k = 1;}}}if(k == 1)printf("%d\n",0);else if(k == 0)printf("%d\n",i-j+1);}
初学C语言,以上代码若有错误,请指正!谢谢!!!
C语言字符数组常用函数实现相关推荐
- C语言文件读写常用函数总结
C语言文件读写常用函数总结 有点小头疼这几天复习,可是总是有些小可爱问有关C语言文件方面的内容,在此写篇博文一劳永逸. 目录 C语言文件读写常用函数总结 fopen函数 fclose函数 fseek函 ...
- php学习笔记-php数组的创建和使用,数组常用函数-day03
php数组的创建和使用,数组常用函数 数组的概念 一维数组的创建和使用 1.直接将变量声明为数组元素 2.通过array()函数来创建一维数组 3.数组的元素值的访问 4.数组元素的赋值方式 5.数组 ...
- C语言 字符数组 和 字符串 详解
C语言 字符数组 和 字符串 详解 用来存放字符的数组称为字符数组,例如: char a[10]; //一维字符数组 char b[5][10]; //二维字符数组 char c[20]={'c', ...
- C语言 | 字符数组
C语言字符数组的定义 字符数组是用来存放字符数据的数组,字符数组中的一个元素存放一个字符,定义字符数组的方法和定义数值型数组的方法类似. //例子:char character[10]; C语言字符数 ...
- C/C++ | C语言字符数组初始化,有些赋值方式千万注意
一.字符数组的定义和初始化 字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素. charstr[10]={'I','','a','m','','h','a','p','p','y'}; ...
- python定义字符串数组初始化_字符数组及其定义和初始化,C语言字符数组详解...
字符数组及其定义和初始化,C语言字符数组详解 字符串的存储方式有字符数组和字符指针,我们先来看看字符数组. 因为字符串是由多个字符组成的序列,所以要想存储一个字符串,可以先把它拆成一个个字符,然后分别 ...
- php 数组合并_PHP数组常用函数分类整理
微信公众号:PHP在线 PHP数组常用函数分类整理 一.数组操作的基本函数 数组的键名和值array_values($arr); 获得数组的值array_keys($arr); 获得数组的键名arra ...
- 用字符数组作函数参数编程实现如下功能:在字符串中删除与某字符相同的字符。
用字符数组作函数参数编程实现如下功能:在字符串中删除与某字符相同的字符. **提示信息: "Input a string:" "Input a character:&qu ...
- C语言字符数组越界问题
C语言字符数组踩坑 如果运行下面的代码会发生输出什么? #include<stdio.h> #include<string.h>/*** 输出结果* a1:wohello* a ...
最新文章
- 用计算机计算线性卷积的基本规则,实验三_线性卷积与圆周卷积的计算.doc
- 山西出台法规规范社会力量认养文物 系全国首例
- hdu 1280用hash解决。。
- PING检查网络是否畅通
- intel服务器修复两个漏洞,英特尔处理器漏洞怎么修复 Intelcpu漏洞修复方法
- CCF201703-4 地铁修建(100分)【Kruskal算法+二分+最短路】
- dstwo linux 模拟器,dstwo gba 模拟器-TempGBA下载V1.44 最新版-西西游戏下载
- CSF 格式文件播放器 下载地址
- duilib加载资源
- 细数Android原生工程接入EasyAR-SurfaceTracking遇到的坑
- Axure实战002:APP原型设计思路
- java微信获取临时素材_java实现微信获取/下载临时素材
- 01 数据库和MySQL简介
- WPF自定义日期时间控件
- 2022-03-02每日刷题打卡
- 成为一流软件开发者的 34 条建议
- 我的安卓手机上的垃圾文件清理记录
- UG NX 12 拟合曲面
- 怎么录屏幕视频,不要错过这4种简单的电脑录屏方法
- CodeSoft官方Demo