C语言字符数组

字符数组定义,初始化,元素的引用

 字符数组定义

一维字符数组:char 数组名 [整型常量表达式]

二维字符数组:char 数组名[整型常量表达式][整型常量表达式]

一维字符数组初始化

char c[4]={'a','b'}=c[0]='a' c[1]='b' c[2]='\0' c[3]='\0'

char c[5]= {'a','b','c','d','e'}

char c[5]= {"abcd"}="abcd'; ="abcd\0"

字符数组元素赋值

1.char[5] c[0]='a' c[1]='b' c[2]='c'

2.for{i=0;i<5;i++} c[i]=getchar();

3.scanf("%s",c);

求字符串长度:此处应该注意\0在哪里 字符串的结束以\0为结束标志

 

 字符串及其处理函数

 字符串专用头文件  #include<string.h>

字符串输入函数gets()

功能:从键盘输出字符,以回车结束;

用法:gets(数组名)

 gets(s)=scanf("%s",s)

字符串输出函数puts 自动换行

 eg:有两个数组a,b以下正确的输入为(B)

        A.gets(a,b); //gets(数组名)数字,字母,下划线构成

        B.scanf("%s%s",a,b);

        C.scanf("%s%s",&a&b); 

        D.gets("a");gets("b");

字符串连接函数(strcat

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

功能:先寻找字符串1的结束标志:’0‘然后字符串2从'\0'处连接

要求字符数组1长度够,不然放不下字符数组2

 

 字符串拷贝函数(strcpy)

 

 注意从那一位开始 :s+2=s[2]

字符串长度(strlen)

strlen:测字符串长度函数 strlen(字符数组名或字符串)

功能:测字符数组或字符串长度但是不包含’\0'

注意:从那一位开始

 

 eg:char s1[30] = "ABD\012ERT"; printf("%d",strlen(s1));--7

      char s1[30] = "ABD\012ERT"; printf("%d",sizeof(s1));--30

      char s1[30] = "ABD\09ERT"; printf("%d",strlen(s1));--9

牛刀小试

"abc\\\t\nqw" 8位

"\\ta\12\123\1234\012" 8位

"abc\192\012r\092a"8位

“\xab\012\xA1\t" 4位

字符串比较函数(strcmp(字符串1,或字符数组名1,字符数组名2或字符串2))

例如:"ABC"和”abc"比大小

ABC 和abc 比ASCII

串1=串2 ,结果为0

串1>串2 ,结果为正数

串1<串2, 结果为负数

牛刀小试  strcmp("sDDs","ADDS") 正

                strcmp("aSD","sYY")        负

                strcmp("The","That")        正

                strcmp("The ","The")        正

                strcmp("Tqwe","Tqwe")    0

字符串数组

字符串数组可以理解为字符型的二维数组

char c[3][6]={"abcde","qwe",good};

c0 a b c d e \10

c1 q w e \0 \0 \0

c2 g o o d \0 \0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值