"hello,world"
这种由双引号(
Double Quote
)引起来的一串字符称为字符串字面值(
String Literal
),或者简称字符 串。
#include<stdio.h>
int main()
{
char arr1[] = "abc";
char arr2[] = { 'a', 'b', 'c' };
printf("%s\n", arr1);
printf("%s\n", arr2);
return 0;
}
//"abc",其实里面有'a''b''c''\0'四个字符 '\0'字符串结束标志。{ 'a', 'b', 'c' }没有结束标志,之后打印随机值。
//"abc",其实里面有'a''b''c''\0'四个字符 '\0'字符串结束标志。{ 'a', 'b', 'c' }没有结束标志,之后打印随机值。
%s是输出字符串
字符串的结束标志是一个
\0
的转义字符。在计算字符串长度的时候
\0
是结束标志,不算作字符串
内容。
#include<stdio.h>
int main()
{
char arr1[] = "abc";
char arr2[] = { 'a', 'b', 'c',0 };
printf("%s\n", arr1);
printf("%s\n", arr2);
return 0;
}
加0和\0一样
计算字符串长度
#include<stdio.h>
int main()
{
char arr1[] = "abc";
char arr2[] = { 'a', 'b', 'c'};
printf("%d\n", strlen(arr1));
printf("%d\n", strlen(arr2));
return 0;
}
strlen是计算字符串长度的
正常的结果应该是3,随机值
转义字符:
计算字符串长度(包含转义字符)
#include <stdio.h>
#include <string.h>
int main()
{
printf("%d\n",strlen("c:\test\32\test\.c"));
return 0;
}
\32----32是两个八进制数字
32作为8进制代表的那个十进制数字,作为ASCII码值,对应的字符
32对应十进制26 作为ASCII码值代表的字符
遇事不决,就加\
\ddd ddd表示1-3个八进制的数字。
\xdd dd表示2个十六进制数字。