“Hello C!\n”
这种由双引号引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。
注意:字符串的结束标志是一个\0的转义字符。在计算字符串长度的时候\0是结束标志,不算做字符串内容。\0的阿斯克码值是0,所以数字0定价于\0,但字符0的阿斯克码值是48,要注意
转义字符:转变原来的意思
\\:用于表示一个反斜杠,防止它被解释为一个转义序列符
\n:换行
\t:水平制表符(tab键)
\v:垂直制表符
\?:在书写连续多个问号时使用,防止他们被解析成三字母词
\ddd:ddd表示1~3个八进制的数字。如:\132,会被先转换成十进制数字90,90在阿斯克码表里就是:Z
\xdd:dd表示2个十六进制数字。如:\x61,会被先转换成十进制数字97,97在阿斯克码表里就是:a
注释:
1.单行注释://
2.多行注释:/*内容*/
#include <stdio.h>
#include <string.h> // 要用strlen()函数,必须引用string.h的库
int main()
{
char arr1[] = "abc"; // 把一个字符串放到一个字符数组
// “abc” = ‘a’ + ‘b’ + ‘c’ + ‘\0’,‘\0’是字符串的结束标志
char arr2[] = {'a', 'b', 'c'}; // 把三个字符放到一个字符数组
// 'a',‘b’,‘c’ = ‘a’ + ‘b’ + ‘c’,此处是没有\0作为结束标志,所以后面打印一些
// 随机值
// char arr2[] = {'a', 'b', 'c', '\0'}; // 只要主动放一个\0,那么返回的结果就是:abc
printf("%s\n", arr1); // 返回结果:abc
printf("%s\n", arr2); // 返回结果:abc蘟bc
printf("%d\n", strlen(arr1)); // strlen=string length——用来计算字符串的长度,返回结果3
printf("%d\n", strlen(arr2)); // 返回结果为随机值
return 0;
}