“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;

}