C语言基础----字符串

一、字符串简介

  • 用字符数组来储存字符串
  • 字符串可以看成一个特殊的字符数组,为了跟普通的字符数组区分开来,应该在字符串的尾部添加一个结束的标志‘\0’.

二、字符串的初始化

char a[3] = {'m','j','\0'};

char b[3];
b[0] = 'm';
b[1] = 'j';
b[2] = '\0';

char c[3] = "mj";

char d[] = "mi";

char e[20] = "mj";

当我们使用类似第8行的初始化方式时,系统会自动在字符串尾部加上一个\0结束符

三、字符串的输出

  1. printf函数:
char a[3] = {'m', 'j', '\0'};
printf("%s", a);

%s表示需要输出一个字符串
记得加上\0结束符,不然后果很严重,会访问到一些垃圾数据

  1. puts函数:
char a[] = "mj";
puts(a);

puts("lmj");

输出结果:mj lmj
pus函数输出一个字符串后会自动换行

  • puts函数一次只能输出一个字符串,printf函数则可以同时输出多个字符串

四、字符串的输入

  1. scanf函数:
char a[10];
scanf("%s", a);
  • scanf函数会从a的地址开始存放用户输入的字符,存放完毕后,系统会在尾部加上一个结束标记\0
  • 注意,不要写成scanf("%s",&a),因为a已经代表了数组的地址,没必要再加上&这个地址运算符。
  1. gets函数:
char a[10];
gets(a);
  • 系统会在尾部加上结束标记\0
  • gets 一次只能读取一个字符串,scanf则可以同时读取多个字符串
  • gets可以读入包含空格tab的字符串,直到遇到回车为止;scanf不能用来读取空格,tab

五、字符串数组

  1. 简介:

    1 >一维字符数组中存放一个字符串,比如一个名字char name[20] = “mj”
    2>多个字符串,需要二维字符数组,char name[15][20],可以存放15个学生的姓名
    3>如果要存储两个班的学生姓名,那么可以用三维字符数组char names[2][15][20]

  2. 初始化:

char names[2][10] = { {'J','a','y','\0'}, {'J','i','m','\0'} };

char names2[2][10] = { {"Jay"}, {"Jim"} };

char names3[2][10] = { "Jay", "Jim" };

可以把字符串数组看作是一维数组,它的元素是字符串。字符串数组names由字符串"Jay"和字符串"Jim"构成
详情:https://mjios.cnblogs.com/archive/2013/03/15/2961273.html#label0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值