C语言中printf("%d\n",strlen("\t\"\065\xff\n"));的输出为何是5?
来源:百度知道 编辑:UC知道 时间:2024/05/06 10:47:45
我上机调试了,确实输出值为5;在我运行printf("%d\n","\t\"\065\xff\n")时,输出的字符串显示为:"5,"5前面有8个空格(可能是制表位),"5后面有两个空格(可能是\xff所至),但该字符串的长度为什么是5?请高手指点!
谢谢!
谢谢!
printf函数输出strlen()函数执行的结果,strlen()计算字符串"\t\"\065\xff\n"的字符个数,该字符串中有5个元素,所以会输出5,5个元素分别是:
1、\t:换码符'\t',表示水平制表位(horizeontal tab)。
2、\" :双引号
3、\065:字符\后面的数字065是三个八进制数,它是数字5的ASCII码值
4、\xff:字符\x后面的数字ff是两个十六进制数。
5、\n : 换行字符。
这5个字符都是转义字符。转义字符是C语言中表示字符的一种特殊形式。转义字符以反斜'\'开头,后面跟一个字符或一个八进制或十六进制数表示。转义字符具有特定的含义,不同于字符原有的意义,故称转义字符。
\t(制表符)
\"(引号)
\065(八进制转义序列,对应的ASCII字符是5)
\xff(十六进制转义序列,对应的十进制ASCII码是255,在扩展ASCII中)
\n(回车换行符)
共5个字符.
\t(制表符)
\"(引号)
\065(八进制转义序列,对应的ASCII字符是5)
\xff(十六进制转义序列,对应的十进制ASCII码是255,在扩展ASCII中)
\n(回车换行符)
对的
因为本来就是5
c语言中 printf("%d,%d,%d\n",10);会输出什么??
C语言,中printf %d,%o,%x???????
c语言中printf("%d\n",c&c)是什么意思?
在C语言中,输出语句printf("%10d",c)中的10是什么意思?
c语言中printf 函数? int x=10; printf("%d %d\n",++x,--x);运行结果为什么是 10 9?为什么不是11 10?
c语言中 我想将 printf("%d",num) 这个输出结果输出到文档中怎么写
在C语言中 语句 printf("%d%d%%d%d",1+2,5/2,-2*4,11%3)是怎样运算的
c语言如何理解 printf('%d,%d,%d",a++,a++,a++)
c语言试题 执行语句printf("2:%d,",printf("1:%d,",scanf("%d",&x)));以后的输出结果是____。
请教C语言问题:int c=8;printf("%d%d",++c,--c);的输出结果,为什么这样