pscc怎么调出对称线:输出的结果是什么?

来源:百度文库 编辑:高校问答 时间:2024/04/25 14:23:37
选出以下语句的输出结果

printf("%d",strlen("\t\”\065\xff\n\\"));

A) 6 B) 14 C) 8 D) 输出项不合法,无正常输出
答案是第一个 为什么?

 
 
 
答案是 6,原因在于 "\t\"\065\xff\n\\" 里有 6 个逃逸字元。
每一个逃逸字元都是一个字符,所以该字符串里有 6 个字符。

strlen()计算并返回它接收到的字符串的长度(即字符串里的字符个数),
所以 strlen( "\t\"\065\xff\n\\" )的返回值是 6。

6 交到 printf()的手里以整数格式输出到标准输出器上去显示,所以语句的输出结果是 6。
 
 
 
那 6 个逃逸字元全是 ASCII 字符集里的成员:
\t         水平制表符(Tab)
\"         双引号
\065   (以 8 进制表示的)5
\xff     (以 16 进制表示的无名字符。打印出来显示为占两个字符位的空格)
\n         换行符
\\         反斜杠
 
 
 
你可以把它们打印出来:
printf( "%s", "\t\"\065\xff\n\\" );
 
 
 

printf("%d",strlen("\t\”\065\xff\n\\"));
输出结果是:7
printf("%d",strlen("\t\"\065\xff\n\\"));
输出结果是:6

你输入的那个双引号还是单撇号???

strlen()用来计算以空(NULL)结束的字符串str长度,并且返回字符串的长度。结束符NULL不计在内。
建议你要是学C语言的话,去买一本函数大全