hao123知道首页 > 企业管理 > 详细问题分析解答内容页

C语言问题,各位大佬看看答案为什么是6

网易新闻网用户在11天前提交了关于“C语言问题,各位大佬看看答案为什么是6”的提问,欢迎大家帮忙网友并涌跃发表自己的观点。语句printf("%d\n",strlen("\t\"\\\n\'\065\08AB"));的输出结果是______。期待您的回答,我不知道说什么才好,除了谢谢!
11天前

2020-02-22最佳答案

第1个回答:

LV10天前它考核的是一个基本概念\在C中是转义符\t是一个字符,表示TAB(若**个空格,对齐用)\"是一个字符,,表示双引号",\\是一个字符,表示反斜杠本身\\n是一个字符,表示回车\'是一个字符,表示单引号',它可以没有\的\065为一个八进制字符,表示字符'5'(它的ASCII为0x35)\08AB这个不太好理解因为\0后面加数字,表示八进制,而八进制只能是00~07所以\08会被识别为两个字符\0和8而\0是C字串结束符,\0前面的是有效的长度,后面内容最多如8AB,也不能用strlen测到它长度了所以,字串长就是6


第2个回答:

匿名网友LV10天前c语言数值的赋值定义


第3个回答:

匿名网友LV11天前,首先,你这无形中用了两个转义字符:\n,\t,这里面\n是换行符,\t是跳格,即跳到下一个“制表位置”(也有说是TAB位置),在我们所用的系统中一个“制表区”占8列。“下一制表位置”从第9列开始,然后,我做了一个小测试,在strlen(""),双引号之间的内容是测试长度,跟到printf("%d")一个道理,一般strlen()中可以输入,可以不输入““,一旦输入双引号,你再往双引号外输入就会错误,所以在用strlen()时,双引号不统计接着,c语言中\是特殊符号,字符串中要包含\就要用\\表示,当它单独一个时,不表示\所以这串字符中\t,\n,\\都是一个字符第四,按照第二条,你应该是错的,但是由于\t的作用,你直接转到了第九列,也就是从双引号外的\\开始,从做网页数,\\是第一个,\n是第二个,\(这里的\不是\n中的特殊符号)是第三个,'是第四个,以此类推,直到最后一个\,此时这个\是第九个。所以\t的1个字符长度,加上\08AB的5个长度,刚好是6一个有t,一个没t,没有t的,程序直接错误了追答:我说错了,下面那个是对的,sorry


希望hao123知道的回答,能够帮助到你。

热门分类提问

  • 手机数码 手机数码十大品牌,手机数码哪个品牌好。手机电脑等数码产品资讯,游戏资讯。

  • 商业理财 商业理财业务管理办法最新p2p公司排名年利率10%的商业理财