一、字符串
由双引号起来的一串字符称为字符串。比如:"hello\n"
【注】:
1、字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。
#include
int main()
{
char arr1[] = "new";
char arr2[] = {'n', 'e', 'w'};
char arr3[] = {'n', 'e', 'w', '\0'};
printf("%s\n", arr1);
printf("%s\n", arr2);
printf("%s\n", arr3);
return 0;
}
我们可以得出: printf("%s\n", arr1); 输出为 new , 而 printf("%s\n", arr2); 输出则为 new+(一些其他的···)乱码;
这是因为:arr1[]的字符串结尾有‘\0’,'\0'时一个代表着结束的转义字符,而arr2[]没有,所以输出找不到结束的标志。为arr2[]加上'\0',则输出结果为 new。
2、在计算字符串长度的时候,我们使用strlen()函数,其头文件是:#include <string.h> 。'\0'是结束的标志,不算做字符串的内容。
#include
int main()
{
char arr1[] = "new";
char arr2[] = {'n', 'e', 'w'};
int len1= strlen(arr1);
int len2 = strlen(arr2);
printf("%d",len1);
printf("%d",len2);
return 0;
}
结果:
printf("%d",len1); 输出结果是3(‘\0’是结束的标志,不算字符串的内容)
printf("%d",len2); 输出结果为随机值(没有结束标志,输出结果为随机值)
二、转义字符
转义字符顾名思义就是转变意思。
接下来有几个问题:
问题1:在屏幕上打印一个单引号',怎么做?
问题2:在屏幕上打印一个字符串,字符串的内容是一个双引号“,怎么做?
#include
int main()
{
printf("%c\n", '\'');
printf("%s\n", "\"");
return 0;
}
【注意】利用转义字符,防止‘ 与 ’,“ 与 ”凑成一组。
问题3:以下这个程序的输出是多少?
#include
int main()
{
printf("%d\n", strlen("abcdef"));
printf("%d\n", strlen("c:\test\328\test.c"));
return 0;
}
结果:
输出为14。其中 \t \32 被解析成一个转义字符。
三、注释
什么时候需要用到呢?
1. 代码中有不需要的代码可以直接删除,也可以注释掉
2. 代码中有些代码比较难懂,可以加一下注释文字
注释有两种:
1、C语言风格的注释 /*xxxxxx*/
缺陷:不能嵌套注释
2、C++风格的注释 //xxxxxxxx
可以注释一行也可以注释多行(多行注释需要一行一个//)
(xxxx为注释内容)