C语言之数组2(字符数组)

1.定义及初始化
char a[5] = {‘h’,‘e’, ’ l’, ‘l’ , ‘o’}
char a[5] = “hello” × , **因为字符串隐含结束标志 ‘\0’**所以越界
char a[6] = “hello” √
char a[32] = {0} 字符数组定义的时候记得初始化
注意:字符串用双引号,字符用单引号

2.输入打印
char a[32] = {0};
printf(“%s\n”,a)打印字符串,可以用%s打印,不需要再用for循环一个一个输出,另外输出列表是提供字符串a的首地址遇到‘\0’停止打印
scanf("%s",a) 获取字符串地址时不需要加&,因为数组名就代表地址
注意:输入的字符串内容不能包含空格,否则空格后的输入内容无效

3.字符串函数(需要调用头文件<string.h>
(1)字符串拷贝函数 strcpy
在这里插入图片描述
运行结果:
在这里插入图片描述
下面解释下结果:
第一个打印就是把src中的值拷贝到str中

第二个打印结果为什么是12345 为什么不是 12345world
因为在字符串自带结束符’\0’ ,拷贝的时候把12345字符串的结束符也拷贝到了str中,而%s输出格式遇到结束符停止打印
第三个通过字符打印str中 ‘\0’后的字符,实际上w的位置被赋予了‘\0’,orld也还存在

第四个打印是把src字符串中的 num 个拷贝的str中

引申:编程实现strcpy函数功能
在这里插入图片描述
运行结果:hahaoworld

(2)字符串连接函数 strcat
在这里插入图片描述
运行结果:
在这里插入图片描述

引申:编程实现strcat函数功能
在这里插入图片描述

(3)字符串比较函数 strcmp ,( strcmp(str1,str2),若str1=str2,则返回零;若str1<str2,则返回负数;若str1>str2,则返回正数
)
在这里插入图片描述
运行结果;
在这里插入图片描述
引申:编程实现strcmp函数功能
在这里插入图片描述
运行结果:hahab > haha

(4)查找字符c在字符串首次出现的位置函数 strchr
在这里插入图片描述
运行结果:4

(5)计算字符串长度函数strlen

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值