C语言求教,字符串长度问题 谢谢大家啦

以下程序的输出结果是main(){chars[]=”\\141\141abc\t”;}printf(“%d\n”,strlen(s));}A9B12C13D14答案是A请... 以下程序的输出结果是
main()
{char s []=” \ \ 141 \ 141abc \t”;}
printf(“%d\n”,strlen(s));
}
A 9 B 12 C 13 D 14
答案是A 请教下 他是怎么来算的 谢谢大家了
展开
 我来答
匿名用户
2009-02-14
展开全部
答案是A

\ \ 141 \ 141abc \t
这个字符串中包含的字符如下:
\\:转义为反斜杠字符'\'
1
4
1
\141: 转义为一个三位八进制数(这个算一个)
a
b
c
\t: 转义为水平制表符
共9个

买一送一,转义字符表也贴给你看看吧:
转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) 008
\f 换页(FF) 012
\n 换行(LF) 010
\r 回车(CR) 013
\t 水平制表(HT) 009
\v 垂直制表(VT) 011
\\ 反斜杠 092
\? 问号字符 063
\' 单引号字符 039
\" 双引号字符 034
\0 空字符(NULL) 000
\ddd 任意字符 三位八进制
\xhh 任意字符 二位十六进制
sys_master
2009-02-14 · TA获得超过7942个赞
知道小有建树答主
回答量:1202
采纳率:0%
帮助的人:725万
展开全部
\\
1
4
1
\141
a
b
c
\t
一共9个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sanzi0819
2009-02-14 · TA获得超过109个赞
知道答主
回答量:111
采纳率:0%
帮助的人:45.6万
展开全部
答案选择A是不错的
"\\"是字符'\'
然后是141分别代表字符'1','4','1'
"\141"代表八进制数字97也就是字符'a'
abc分别代表字符'a','b','c'
最后就是\t它是一个制表符
所以总共9个字符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
1009115844
2009-02-14
知道答主
回答量:5
采纳率:0%
帮助的人:5.1万
展开全部
函数strlen的作用是返回字符串str中的字符个数,包括其中的空格和转义字符,但不包括结束标记'\0'。此字符串中包含两个空格,三个转义字符\\,\141和\t,还有4个字符:141,a,b,c.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
第廿世
2009-02-15 · TA获得超过325个赞
知道小有建树答主
回答量:351
采纳率:0%
帮助的人:175万
展开全部
是9个
\\代表\
141不用说
\141代表八进制数141
abc不用说
\t 代表跳到下一个Tab
用到的是转义字符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yjp_888
2009-02-15 · 超过14用户采纳过TA的回答
知道答主
回答量:57
采纳率:0%
帮助的人:0
展开全部
上面程序你输入的不规整,我重新写了一下:

#include<stdio.h>
main()
{
char c='\141';
char s[]="\\141\141abc\t";
printf("%d\n",strlen(s));
printf("%c\n",c);
getch();
}

说明:

\\ 是个转义字符代表 \
\141 转义成字符是 a (141是个八进位数)
\t 是个制表符

这样 s[] 就变成了 "\141aabc\t"

结果为 9
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式