目录
一.字符串
由双引号引起来的一串字符称为字符串字面值,或者简称字符串。
我们来看下面代码
int main()
{
char arr1[] = "abc";
char arr2[] = { 'a','b','c' };
char arr3[] = { 'a','b','c','\0'};
//%s是用来打印字符串的
printf("%s\n", arr1);
printf("%s\n", arr2);
printf("%s\n", arr3);
return 0;
}
那么这三个代码都有什么区别呢?
我们用编辑器计算可得出
为什么会出现第二种结果呢?
我们不妨用编译器进行调试
由图可知,arr1和arr3后面都有\0,arr2后面则没有。
arr1字符串后面有一个隐藏的\0,所以在打印完abc时,遇到隐藏的\0会停止;
而arr2字符串后面没有\0,所以在打印完abc以后还会继续打印随机值,直到遇到\0才会停止。
arr3则是因为后面添加了一个\0,所以遇到\0后停止打印。
二.转义字符
常见的转义字符有这些
写出来的代码是这样的
int main()
{
printf("c:\test\test.c");
return 0;
}
然而我们通过编译器运行的结果却是这样
为什么会这样呢?
答案是因为编译器把\t作为转义字符进行转义了
我们只需要在\t的前面再添加一个\就可以了
结果如下
三.注释
注释是什么意思?为什么要注释呢?
注释有两个风格:
1、C语言注释风格/*这是一个注释*/
2、C++注释风格//这是一个注释
但是C语言注释风格有一个缺点——不能嵌套
例如:
如图,我们可以看到return 0和下面部分就没有注释掉
所以我们推荐使用C++的注释风格,而且还支持嵌套。