执行printf(“%d\n”,strlen(“ABCD\t\ \ \123”));后输出的值是 请详细说明,谢谢!

如题所述

是7
printf(“%d\n”,strlen(“ABCD\t\ \ \123”));
表示将strlen(“ABCD\t\ \ \123“)的结果用%d的形式输出
strlen()是用来求字符串长度的
求出的长度为7

ABCD\t\ \ \123理解方法
ABCD长度为4
\t为1
\长度为1
\123注意,此处会被认为是8进制数,转为10进制为ANSII 码83表示一个字符,长度为1

所以共为7
我已经编译过
有问题请追问追问

楼下的说是9,算上strlen(“ABCD\t123“),你的8是strlen(“ABCDt123“),对吧!

追答

是7,我已经修改过来了,而且有运行过,相信我的辛苦吧。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-07-14
strlen是读出字符串的长度你写的字符串里面有转义字符 回车(\t) 和‘\’ 所以结果是9
第2个回答  2012-07-14
8
\是转义的意思。所以跟在\后面的单词会跟\一起组成一个字符。追问

你的8是strlen(“ABCDt123“),对吧!

追答

8是这样理解的
ABCD是4个
\t是一个

\ (空格)\ (空格)是两个
\123是一个
假如你是linux用户,可以用"man ascii"查看到ascii码表。\t对应的ascii值是9
\ 就是告诉他,我要使用一个空格,也就是一个字符串中的一个空格。
至于\123属于中文编码集的头一个字节的某一部分。具体跟你的本地字符集有关。
比如,你是用UTF8编码的时候,测试strlen("中")会得到6.也就是中占了三个字节。这三个字节怎么排布的,你可以看汇编结果就是\344\270\255
,当然你可以这么打印printf("\344\270\255");这也将在UTF8编码下输出“中”字。所以\123也是某个中文编码急的某个字的一步分编码

...\\ \\123”));后输出的值是 请详细说明,谢谢!
是7 printf(“%d\\n”,strlen(“ABCD\\t\\ \\ \\123”));表示将strlen(“ABCD\\t\\ \\ \\123“)的结果用%d的形式输出 strlen()是用来求字符串长度的 求出的长度为7 ABCD\\t\\ \\ \\123理解方法 ABCD长度为4 \\t为1 \\长度为1 \\123注意,此处会被认为是8进制数,转为10进制为ANSII 码83表示一个...

printf(%d\\n",strlen (ATS\\n012\\1\\\\"))的输出结果是
printf("%d\\n",strlen("ATS\\n012\\1\\\\"));9 \\n,\\1,\\\\都代表一个字符

执行printf("%d\\n", strlen("a\\n\\"\\x41"))语句其输出结果是___。请具 ...
{ printf("%d\\n", strlen("a\\n\\"\\x41"));} 其中strlen()里的是字符串,要用“”才能用,所以里面就有4个字符:"a","\\n",""\\","\\x41".结果:4

...的输出结果是( )。 printf("%d\\n", strlen("ATS\\n012\\1\\\\...
这句话的意思是:%d,strlen 是函数库的一个函数,要来求字符串的长度(不包括\\0).整句话就是以十进制格式输出"ATS\\n012\\1\\\\"的长度是9

printf("%d\\n",strlen("ATS\\n012\\1\\\\"));输出结果——
字符串"ATS\\n012\\1\\\\"包含以下字符:A:字符'A'T:字符'T'S:字符'S'\\n:转义为回车符 0:字符'0'1:字符'1'2:字符'2'\\1:转义为数字1 \\\\:转义为字符\\ 最后作为字符串还有一个默认的串尾符'\\0',但是strlen计数时,串尾符'\\0'并不统计,所以一共是9个 ...

...{ char *s="\\n123\\\\"; printf("%d,%d\\n",strlen(s),sizeof(s...
输出的是5 4 strlen是计算字符串的长度,不包括\\0。\\n是一个字符,123是3个字符,\\\\是转意字符也就是\\。所以一共是5。因为s是指针,指针的大小就是4,所以输出的就是四 另外,如果定义成 char s[]="\\n123\\\\"; 则sizeof(s)就是6了 ...

执行printf("%d\\n", strlen("a\\n\\"\\x41"))语句其输出结果是___。请具 ...
输出结果是:4,strlen是求字符串长度,需要string.h头文件 为什么是4呢,因为a是一个,\\n是一个, \\"是一个,\\x41'即'A'所以输出4 \\n是换行回车,\\"是输出"\\x41是16进制的41转成10进制是65也就是'A'

main() {printf("%d\\n",strlen("\\nabcc\\\\\\","\\\\",\\041\\0xf\\t\\n...
printf("%d\\n",strlen("\\nabcc\\\\\\",\\\\\\",\\041\\0xf\\t\\n"));考点是C语言的转义字符 定义:转义字符是C语言中表示字符的一种特殊形式。转义字符以反斜'\/'开头,后面跟一个字符或一个八进制或十六进制数表示。转义字符具有特定的含义,不同于字符原有的意义,故称转义字符。\\n 是换行符 a ...

printf(“%d\\n”,strlen("ATS\\n\\12\\1\\\\")) 、printf(“%d\\n”,strlen...
解法:数字符个数,从头数到\\0或末尾为止 以下情况都算算作一个字符:1.一个字母或数字 2.'\\'后面紧跟一个数字或者一个字母 所以 对"ATS\\n\\12\\1\\\\",7个字符分别为 'A' 'T' 'S' '\\n' '\\12' '\\1' '\\\\'对"ATS\\n\\0\\g\\1\\\\",4个字符分别为 'A' ...

语句printf("%d",strlen("abc\\n"));的输出结果是___。 A
“\\n”是回车符,也占用一个位置。

相似回答