今天课上主要讲了字符串数组。定义有越界要求,输入、输出无越界要求。
字符串是由数字、字母、下划线组成的一串字符,不能由数字作为开头。字符串对应的格式控制符是%s。一个字符串的长度指所有字符的数量,每一个字符串都有一个没有显示出来的结束位\0,所以字符串的长度要比写出来的字符数量多1。
设两个字符串为s1,s2
strcpm:比较两个字符串。strcpm(s1,s2);若s1=s2,则返回0;若s1<s2,则返回-1;若s1>s2,则返回1。两个字符串自左向右逐个字符相比,直到分出大小或遇第一个'\0'为止。
memcmp:memcmp(s1,s2,n);就是比较s1和s2的前n个字符,下标从0开始。
strcpy:strcpy(s1,s2);把后边的复制给前边。
memcpy:memcpy(s1,s2,n);从下标为0的开始复制所给参数的长度n给前边。
strlen:strlen(s1);检查s1字符串到第一个\0有多长,返回值是整型。
strcat:用来连接两个字符串,不检查越界操作。strcat(s1,s2);从第一个字符串s1的\0开始接,第二个字符串s2的\0后不接。
strcpm,strcpy,memcmp,memcpy,strlen,strcat的头文件是#include<string.h>
gets(s);输入字符串,到回车结束。gets(s);=scanf("%s",s);字符串录入时,&可以省略。
puts(s);输出字符串,到\0结束。puts(s);比printf("%s",s)多输出一个换行。
gets(s);和puts(s);只能用在字符串中。