18-字符数组和字符串

       大家好,我是酒点,今天给大家讲的是字符数组和字符串,在C语言当中,字符数组,字符串也是一个很重要的内容,而且非常容易出错,因此希望大家在学习的时候认真对待。

首先我们看一下字符数组,字符数组是元素的数据类型为字符类型的数组

char  c[10];

char ch[3][4];

也就是类型变了,后面的一维数组还是二维数组都可以。那么接下来我们来看,字符数组的初始化

  • 逐个字符初始化
  • 注意每个字符用单引号

e7e9a7a8f97d4e9aa04916cdb05c50a8.jpg

 一提字符我们就要自然想到ascll码表,练习:

c905d327e81c4fcfabdc4485959201c0.jpg

 字符串

  • C语言中无字符变量,一般字符数组处理字符
  • 字符串结束标志:‘\0’

单引号只能用一个字符,而双引号能用多个字符,

efa9679676214938a287b95f98d90716.jpg

 da4ee5a3695a4ee78ef5ca9d2d9361e7.jpg

 46d718cf58cf485db9a50aec43eb6d49.jpg

 循环打印

57887671487b47bf9f1603abab61825b.jpg

 直接打印字符串

d71912b1a0a24a069983cae538d7f320.jpg

 错误示范

dcffc94a7a794c1e84cf5a2bc628ef40.jpg

 ch2是字符数组不是字符串 因此有瑕疵。不是字符串不能用%s 。

练习:从键盘输入字符串并打印出scanf

f9756af1e5804cd48e2619782ce6a16a.jpg

 96ea7aa58d824a54a8a0ebf591c52737.jpg

 我们可以看到输入how are you的时候输出就不对,这是因为scanf遇到空格就停止。

从键盘输入字符串-scanf-空格的处理

问题:如何让scanf()函数正确接受有空格的字符串?,如,I love you!

分析:如果使用scanf输入字符串,并且字符串可能包含空格,则需要转义字符

%[^\n]

这样可以输入以换行符为结尾的字符串,而不管它中间是否包含空格。

e3420aa0da46400785bcd405e3f65231.jpg

 bbd32aa42624498a892124f20cd5b478.jpg

字符串用双引号

字符串输入函数-gets

char*gets(char*s)

从键盘输入—以回车结束字符串放入字符数组,并自动加‘\0’

gets()函数比scanf简洁,输入字符串有空格也可以输入

输入串长度要注意,保证数据组内存空间够用

gets函数不建议使用,建议使用fgets

 

字符串输出函数puts

68fef91f94694350bb0fd5a4a99fc92a.jpg

 功能:向显示器输出字符串,并加追换行

说明:字符数组必须以‘\0’结束。针对的是字符串的输入和输出哦😐其实呢和printf和scanf是一样的。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值