字符串及转义字符

字符串

在c语言中

形如‘a'  ’b'  ‘c' 等单个字母被命名为字符常量

而形如“abcdef”等则被命名为字符串

在c语言中,有整形,单精度浮点数,字符数据类型

但却没有字符串类型

所以在初始化字符串时与初始化字符相同

列:char ch=’w‘

      char arr[10]

尤为注意的是在[  ] 中可以不写或写大,不可写小

在c语言语法中规定\0是字符串的结束标志

而打印字符串用

printf(“%s\n”,arr);

那么为社么说\0是字符串的结束标志呢?

不妨看下面的一串代码

#define   _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main()
{
	char arr1[100] = "abcde";
	char arr2[100] = { 'a','b','c','d','e' };
	printf("%s\n", arr1);
	printf("%s\n", arr2);



	return 0;
}

得到的arr1和arr2的结果截然不同,原因就是出于此处

arr2没有\0即在打印过程中会打印字符常量后面的内容,直至出现下一个\0

而字符串默认会附带\0

由此我们可知\0在字符串中非常重要

转义字符

转义字符作为c语言的基础在代码的书写过程中经常应用

下面我便列下几个常用的转义字符,在应用中记住

\’用于表示字符常量‘

\“用于表示一个字符内部的双引号

\\用于表示一个反斜杠,防止它们被解释为一个转义序列符

\n换行

\r回车

\t水平制表符

\ddd    ddd表示1-3个八进制的数字

\xdd     dd表示2个16进制数字

如上即是较为重要的转义字符

还有一些不是很重要的

类如

\? 在连续书写多个?中使用,防止他们被解析成三字母词

而在原来的一些编译器中

??)的意思为]

那么如何解决呢?

只需要写成

\?\?)

即为??)

很神奇吧

还有一个很重要的

空格也算字符!

接下来再扩展一些打印符号

%d    打印整形

%c    打印字符

%s     打印字符串

%f    打印float类型的数据

%lf    打印double类型的数据

%zu    打印size of类型的数据

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值