一、字符串函数
1、gets函数—输入字符串的函数
其作用是从终端输入一个字符串得到字符数组,并且得到一个函数值。(gets函数和scanf函数的区别为:scanf遇到空格便停止输入,而gets函数则不会。)
2、puts函数—输出字符串函数
其作用是将一个字符串(以’\0’结束的字符序列)输出到终端。用puts函数可以包含转义文字符
在用puts输出时将字符串结束标志’\0’转换成’\n’,即输出完字符串后换行(注意:puts函数与gets函数只能输入输出一个字符串
3、strcat函数—字符串连接函数
格式为strcat(字符数组1,字符数组2);其作用是把两个字符数组中的字符串连接起来
4、strcpy和strncpy函数—字符串复制函数
一般形式为strcpy(字符数组1,字符串2),作用是将字符串数组2复制到字符串数组1中。(字符串2可以是字符数组名,也可以是一个字符串常量。
注:字符串数组1需足够大,以便容纳被复制的字符串2
可以使用strncpy函数将字符串数组的前两个字符复制到数组一中,形式为strncpy(str1,str2,2)
5、strcmp函数—字符串比较函数
一般形式为strcmp(字符串1,字符串2)
字符串的比较规则是:将两个字符串从左至右逐个字符相比较,且比较的结果由函数值带回。
(1)、字符串1=字符串2,函数值为0;
(2)、字符串1>字符串2,函数值为正数;
(3)、字符串1<字符串2,函数值为负数。
6、strlen函数—测字符串长度的函数
一般形式为strlen(字符数组)
7、strlwr函数—转换为小写的函数与strupr函数—转换大写的函数
以上的字符串函数,其函数库并非C语言本身的组成部分,使用时需注意
二、做题的总结
1、数组初始换问题
(1)、全局和静态数组都按语言规范问题要求被初始化为0
(2)、当局部数组定义时,没有用列表对其初始化,那么数组元素的值是不可预料的。对于此类问题的理解可做洛谷p2141题
2、数组大小的问题
数组开的过大,可能导致无法输入的问题,数组过小会导致越界,在定义数组大小需仔细审阅题目
3、数组下标问题
数组的下标默认是从0开始的,在进行循环时即使定义下标从1开始,数组的首元素会被默认为0,对于此问题的理解可尝试洛谷p1200
这样写会导致输出的值为负数