<h4>1、字符数组的定义、初始化以及引用</h4>
讯享网
字符数组就是用来存放字符数据的数组,相当于是存放字符串的容器,,这个容量要大于要存放
的字符串,字符数组中的一个元素存放一个字符。
例如:
定义,赋值
char a[10]; c[0] = ‘1’; char c[100]; char c[ ];
初始化
char a[100] = {1,2,3,4,5,6,8,9,0}; char s[100] = “hello”;
由此可以看出在初始化或赋值字符数组时花括号和逗号可以被双引号代替。
2、字符串和字符串结束标志
在c语言中,是将字符串作为字符数组来处理的。
如果有一个字符串,前面9个字符都不是空字符(即‘0’),而第十个字符是空字符,则此字符串的
有效字符是9个,也就是说,在遇到字符‘0’时,表示字符结束,由它前面的字符组成字符串。
3、字符数组的输入输出
(1)puts
其一般形式为
puts(字符数组);
其作用是将一个字符串(以‘0’结束的字符序列)输出到终端。
用c语言来实现puts函数
(2)gets和fgets
gets函数其一般形式为
gets(字符数组);
其作用是从终端输入一个字符串到字符数组。如果输入的字符串长度超过了字符数组最大容纳的字
符数会发生越界访问,所以在使用gets函数时要注意输入字符串的长度及字符数组的容量。
fgets函数其一般形式为
fgets(字符数组,最多可读取的字符数,指向输入流的指针)
//fgets(str,sizeof(str)/sizeof(str[0]),stdin)
其作用是从指定的输入流中读取字符,直到遇到换行符为止。
scanf(“%s”,str)也可以用来输入一个字符串。在使用scanf时,输入的字符串不能有空格;因为有空格时会默认输入结束。
3.函数调用
在程序的最上方加#include <string.h>,调用以下几种函数;
(1)strlen(str); 用来打出字符串中有效字符的个数,(不包括‘0’),在输出时要用%lu打印;
用C语言实现strlen函数:

(2)strcpy(目标,源); 用来一个字符数组复制到另一个字符数组,如:strcpy(s2,s1); 是将s1复制给s2,字符串拷贝不能使用赋值运算符“=”,用%d打印。目标容量要足够,最小容量为strlen s1+1。
用C语言实现strcpy函数
while(s1[i])!=‘0’改为while(s1[i])也可以。
(3)strcat(目标,源); 用来连接两个字符串,如strcat(s1,s2); 是把s2连接到s1后,用%d打印。目标容量要足够;最小容量为strlen s1+strlen s2+1。
字符串连接操作三步骤:
1.从s1中定位s[0]所在位置;
2.顺着s2从第一个元素开始把‘0’前面的元素拷贝到s1;
3.在s1最后加‘0’。
用C语言程序实现strcat函数如下:
(4)strcmp(s1,s2); 用来比较两个字符串的大小,字符串比较不可以使用关系运算符,用%d打印,如果结果大于0,说明s1 > s2,如果结果等于0,说明s1 = s2,如果结果小于0,说明s1 < s2;
用C语言程序实现strcmp函数

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/157339.html