#include<stdio.h>
int main ()
{
char arr1[]=“abc”;//数组
//‘abc’末尾隐藏有\0 \0是字符串的结束标志,不算字符串的内容
char arr2[]={‘a’,’b’,’c’,0};
printf(“%s\n”,arr1);
printf(“%s\n”,arr2);
return 0;
}
\0 0
A在内存中是65 ASCII码值
35 $ 37
a在内存中97
#include<stdio.h>
#include<string.h>
int main ()
{
char arr1[]=“abc”;//数组
//‘abc’末尾隐藏有\0 \0是字符串的结束标志,不算字符串的内容
char arr2[]={‘a’,’b’,’c’};
printf(“%d\n”,strlen(arr1)); 3
printf(“%d\n”,strlen(arr2)); 随机值
return 0;
}
\0是字符串的结束标志
之于字符串的意义
转义字符 转变原来的意思
#include<stdio.h>
int main ()
{
printf(“abcn”); abcn
printf(“abc\n”); abc 换行 请按任意
printf(“abc”); abc请按任意键继续
return 0;
}
\n 换行
printf(“c:\test\32\test.c”);
显示 c: est->
\t 水平制表符 是一个长长的空白
按tab键 跳一段水平空间的大小
\? vc6.0版本里面
printf(“ (are you ok??)\n”);
显示 (are you ok ]
??) 三字母词
printf(“(are you ok??)\n”);
显示 (are you ok ??)
? 在书写连续多个问号时使用,防止他们被解析成三字母词
printf(“c:\test\32\test.c”);
显示 c:\test\32\test.c请按任意键继续
斜杠用来转义斜杠,防止它被解释为一个转义序列符
printf(“%c\n”,’a’);
a
printf(“%c\n”,’b’);
b
printf(“%c\n”,’\’’);
‘
printf(“%s\n”,“abc”);
abc
printf(“%s\n”,“a”);
a
printf(“%s\n”,“\””);
”
\” 一个字符串内部的双引号
\‘ 字符常量
#include<stdio.h>
#include<string.h>
int main ()
{
printf(“%d\n”,
strlen(“c:\test\32\test.c”));
return 0;
}
13
\t
\32 \ddd 1-3个八进制数字
转化十进制就是3*81+2*80=26
26作为ASCII代表的字符➡️
printf(“%c\n”,’\32’);
向右的箭头➡️
printf(“%c\n”,’\132’);
转化为十进制就是182+3*81+28^0=90
ASCII码值为90代表的字符是Z
所以显示Z
\xdd dd表示2个十六进制数字
printf(“%c\n”,’\x61’);
转化成十进制6*161+1*160=97
a
ASCII表看照片