【C++转义字符好题】简单但有意思易错的面试题分享

2021/12/13 1:17:02

本文主要是介绍【C++转义字符好题】简单但有意思易错的面试题分享,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

//程序输出什么?
#include <stdio.h>
int main()
{
    // \62被解析成一个转义字符
    printf("%d\n", strlen("c:\test\628\test.c"));
    return 0;
}

        这道题看似简单,但老程序猿也可能犯错,这道题充分考察了对转义字符的理解。

        几位同学一起做这道题!

        张三同学认为:18个

        李四同学认为:16个

        王五同学认为:13个

        从小就机灵的小宇同学认为:14个

大家认为那位同学做对了呢?那必然是聪明、帅气的小宇同学啦!(自夸一波,大家一件三连哦!)

张三同学做错的因为不懂转义字符!把每一个字符都按照表面的数量去数!

李四同学做错是因为他只明白\t是一个水平制表符,算一个字符。

王五同学比他李四同学多明白了\ddd是表示1~3个八进制的数字,但他还是错了。

聪明的小宇同学敏锐的发现,清楚的明白\628,绝对不是一个八进制数,八进制数不可能出现8,而是八进制数\62+字符‘8’。

ps:\t只表示一个字符,虽然最后会输出一个包含多个空格的tab

最后孩子给大家列出常用的转义字符!

希望对大家有帮助!

\“ 用于表示一个字符串内部的双引号 
\\ 用于表示一个反斜杠,防止它被解释为一个转义序列符。
\a 警告字符,蜂鸣
\b 退格符 
\f 进纸符 
\n 换行
\r 回车
\t 水平制表符 
\v 垂直制表符 
\ddd ddd表示1~3个八进制的数字。 如: \130 X 
\xdd dd表示2个十六进制数字。 如: \x30 0 



这篇关于【C++转义字符好题】简单但有意思易错的面试题分享的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程