字符数组以及字符串相关的几个函数

发布于:2024-05-15 ⋅ 阅读:(144) ⋅ 点赞:(0)

一.字符数组

1.定义:格式如下

char a[10];  //此处就表示定义了一个长度为10的字符数组

2.引用:

也和其余的数组一样,是下标引用。

3.初始化:

如下代码为字符数组初始化的几种情况:

int main()
{
	char arr[5] = { 'a','b','c','d','e'};
	char arr[] = { 'a','b','c','d','e' };//与上面的等价
	char arr[10] = { 'a','b','c','d','e' };//如果{}中的元素个数小于[]内的值,其余的默认为为 '\0'
	char arr[2][3] = { {'a','b'},{'d','e','f'}};//二维数组也同理
}

二.字符串

1.数组的形式来写字符串,如下:

char  ch[ ] = { "hello“ } ;//此处该数组的长度应该为6,这是因为字符串后面会自动添加一个'\0'

三.字符数组输入输出和字符串处理函数

2.字符数组的处理

(1)逐个字符输入和输出。本质上和普通的数组一样,也可以利用循环语句来输入,此处不再赘述。

(2)整个字符串的输入,输出:可以使用 %s 来输入。如下:

char ch[10];

scanf_s("%s",ch);

printf("%s",ch);

需要注意的是,在输入字符串的时候,空格和回车都相当于字符串的分隔符,不能被读入

3.字符串处理函数:

(1)gets函数,gets 函数的作用就等同于 scanf_s("%s",ch); 具体格式如下:

gets(数组名称);    //值得注意的是,使用gets函数的时候可以输入任意的字符,回车键停止,()内可以是数组名或者指针

(2)puts函数同理...

(3)strlen函数。(求字符串的长度)具体如求数组arr的长度:

strlen(arr);//需要头文件 #include<string.h>

(4)strcpy函数。(字符串复制函数)具体如将str1中的字符转化为str2中的值:

strcpy(str1,str2);//需要保证str1的长度足够大,其真实的含义是:将str2中的字符串内容(包含‘\0’)复制到到str1中,返回的是str1的地址值。

(5)stract函数。(字符串连接函数)如将arr1连接到arr2后面:

stract(arr2,arr1);//在连接的时候arr1会自动覆盖arr2后面的‘\0’

(6)strcmp函数。(字符串比较函数)如比较arr1和arr2的大小:

strcmp(arr1,arr2);//指的是将两个字符串从左到右的每一个字符比较ASCII码值,知道出现'\0'或者不相等为止。如果arr1>arr2,返回正整数;如果arr1<arr2,返回负整数;如果arr1=arr2,返回0


网站公告

今日签到

点亮在社区的每一天
去签到