c语言数组1

strcat(字符数组1,字符数组2)

其作用是把两个字符数组中的字符串连接起来,把字符串2接到1后面,结果放到字符串1中。

编写源程序 8-6.c:

#include<stdio.h>
#include<string.h> //在使用字符串处理函数时,在程序文件的开头用#include<string.h> int main() { char str1[30] = "People's Republic of'"; char str2[] = "China"; printf("%s",strcat(str1,str2)); return 0; } 

运行结果:

8-2.4.1-1

注意:

  1. 连接前两个字符串后面都有 '\0',连接时将字符串 1 后面的 '\0' 取消,只在新串后面保留 '\0'。
  2. 字符串 1 必须足够大,以便于容纳字符串 2。如果在定义是定义为 char str1[]="People's Republic of"; 就会出现问题,因为长度不够。

2.4.2 strlen 函数-测字符串长度的函数

其一般形式如下:

strlen(字符数组)

它是测量字符串长度的函数。函数的值为字符串中的实际长度。例如:

char str[] = "China";
printf("%d",strlen(str)); 

注意:

  • strlen() 返回的值比实际占用的长度要小,因为不包含 '\0'。

2.4.3 strcpy ——字符串复制函数

其一般形式如下:

strcpy(字符串 1,字符串 2)

作用是将字符串 2 复制到字符串 1 中。例如:

char str1[10],str2[] = "China";
strcpy(str1,str2);

注意:

  • 字符数组 1 必须定义的足够大,以便容纳被复制的字符串 2。
  • “字符数组 1” 必须写成数组名形式(如str1),“字符串 2”可以使字符数组名,也可以是一个字符串常量。例如:strcpy(str1,"China"); 作用与前面的相同。
  • 不能用赋值语句将一个字符串常量直接给一个字符数组。如下面两行是错误的:
    str1 = "shiyanlou";      //错误,企图用赋值语句将一个字符串常量直接赋值给一个数组
    str1 = str2; //错误,企图用赋值语句将一个字符数组直接赋给另一个字符数组 

2.4.4 strcmp——字符串比较函数

其一般形式如下:

strcmp(字符串1,字符串2)

它的作用是比较字符串1和字符串2.例如:

strcmp(str1,str2);
strcmp("Chengdu","Beijing"); 

比较规则

将两个字符串自左向右逐个字符比较(按照 ASCII 码值大小比较),直到出现不同的字符或者遇到 '\0 '为止。

  1. 如果全部字符相同,则认为两个字符串相同。
  2. 若出现不同的字符,则以第1对不相同的字符的比较结果为准。例如:"A"<"D","e">"E","these">"that","computer">"compare"。
  3. 比较结果由函数值带回。
    • 字符串1=字符串2,则函数值为0
    • 字符串1>字符串2,则函数值为一个正整数
    • 字符串1<字符串2,则函数值为一个负整数

关于字符串处理函数,还有 strlwr 函数(转换为小写的函数)、strupr 函数(转换为大写的函数)strncpy 函数等其它函数,我们这里不再一一阐述,有兴趣的小伙伴可以查询相关内容。

猜你喜欢

转载自www.cnblogs.com/wqh123/p/10280992.html