英雄无敌3wog for mac:C语言关于字符串的问题

来源:百度文库 编辑:中科新闻网 时间:2024/04/28 20:20:34
main()
{printf("%d\n",strlen("\t\"\065\xff\n"));
}
输出结果为什么是5 而不是2呢
\065为什么不可以理解为\0和65呢

\t:制表符
\":"
\065:ASCII码为八进制的65的字符
\xff:ASCII码为十六进制的FF的字符
\n:回车
正好5个字符。

\0xx:八进制数的表示形式。

补充楼上的:
当\065变成 \0 65时就输出为2
因为这时候\0单独变成字符串结束标志