字符串
在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类型的数据
标签:字符,打印,char,转义字符,arr2,字符串 From: https://blog.csdn.net/Xian_haichi/article/details/141165635