概述
//程序输出什么?
#include <stdio.h>
int main()
{
// 62被解析成一个转义字符
printf("%dn", strlen("c:test628test.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++转义字符好题】简单但有意思易错的面试题分享的全部内容,希望文章能够帮你解决【C++转义字符好题】简单但有意思易错的面试题分享所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复