#include
#include
using namespace std;
int main()
{
char *str="Ug\'f\"\028'";
cout<' '<<strlen(str);
}
请问,这个字符串为什么输出是Ug'f"8'而不是Ug'f"28'
因为\02被转义成字符了,但ascii码是2的字符并不可见,所以不显示了
而为什么不是028一起转义呢,因为0代表8进制,8进制里是不会出现数字8的,所以8肯定不会一起转义
如果你想按10进制转义,那么前面不要加0,直接写\28
我滴妈呀,灵异事件啊
当然不是28了\0代表后面是八进制,\028 就是数字 2,和字符8
数字2 ascii码就是一个笑脸