关于转义字符:我们所见到的这些个字符,从简单的数字字母到一些其他字符(比如$),我们要用它,要用计算机传输它们,但是计算机不认识,它只认识0101这样的二进制,而二进制又可以转为八进制,十进制....于是我们可以视作每个字符与一组数字对应着,用了一个 \ ,叫做反斜杠+二进制转为的八进制来表示它们。C语言作为一门高级语言,它不可能让你去记这组数字,把反斜杠后面的纯数字换掉了,比如换为t(也就是 '\t' ),换为n(也就是 \'n' )于是就有了这个转义字符(把原来意思变了,即为转义)。总结就是:C语言用它的那一套来表示Ascii码中的那些个符号。
060对应十进制是48,字符0('0')对应Ascii码就是48,于是输出字符零。
类似地,八进制的23转为十进制是83,参考史上最全Ascii码表,发现83对应的是大写字母S。
再来一个题:
#include<stdio.h>
#include<string.h>
int main()
{
printf("%d", strlen("C:\test\121"));
return 0;
}
answer:
最后:
有关转义字符,请看链接(zhihu)。
后续我将写文章细细分析(埋个坑