主题:几个习题不太明白,望高人指点。
kongleung
[专家分:0] 发布于 2010-06-22 22:54:00
以下四个选项中,均是不合法的转义字符的选项是()?
A) '\"' B) '\1011' C) '\011' D) '\abc'
'\\' '\' '\f' '\101'
'\xf' '\a' '\}' 'x1f'
请说明的详细些,谢谢!
回复列表 (共14个回复)
沙发
雪光风剑 [专家分:27190] 发布于 2010-06-22 23:05:00
B
A里至少中间那个是合法转义成\的
C里第一个是8进制转义
D里第二个是8进制转义
板凳
kongleung [专家分:0] 发布于 2010-06-22 23:44:00
还有一个题:
以下程序运行结果是:()
main()
{
int x=1,y=2,z;
(z=x>y)?++x:++y;
printf("%d,%d,%d\n",x,y,z);
}
A.1,2,3 B.1,3,3 C.2,3,3 D.2,2.3
答案为什么是B啊?(Z为什么是3呢?)
3 楼
雪光风剑 [专家分:27190] 发布于 2010-06-22 23:54:00
我觉得有可能是你的代码抄错了
z=(x>y)?++x:++y;里面z的结果是3没争议……
4 楼
kongleung [专家分:0] 发布于 2010-06-23 00:19:00
Z不是等于0吗?
5 楼
alweeq86 [专家分:1170] 发布于 2010-06-23 08:52:00
[quote]B
A里至少中间那个是合法转义成\的
C里第一个是8进制转义
D里第二个是8进制转义[/quote]
'\a'这个不正确么?不是alarm么?
6 楼
senluo [专家分:10] 发布于 2010-06-24 23:48:00
\? 代表? \' 代表'
\" 代表" \\ 代表\
\a 警告字符。
\b 退格键。
\f 进纸字符。
\n 换行符。
\r 回车符。
\t 水平制表符。
\v 垂直制表符。
\ddd ddd是1~3个八进制数字,代表个顶的八进制数值代表的字符。
\xhh hh是十六进制数字,其余与上面类似。(PS:《Pointers on C》里面说的是\xhhh 三个的,而不是两个,尴尬了~~)
这样看来:风剑可能错了。\a是响铃。答案可能是C,C的第一个\011 ASCII码表里有11,但是没有011,应该\011是非法的转义字符。
7 楼
雪光风剑 [专家分:27190] 发布于 2010-06-25 00:20:00
[quote]\? 代表? \' 代表'
\" 代表" \\ 代表\
\a 警告字符。
\b 退格键。
\f 进纸字符。
\n 换行符。
\r 回车符。
\t 水平制表符。
\v 垂直制表符。
\ddd ddd是1~3个八进制数字,代表个顶的八进制数值代表的字符。
\xhh hh是十六进制数字,其余与上面类似。(PS:《Pointers on C》里面说的是\xhhh 三个的,而不是两个,尴尬了~~)
这样看来:风剑可能错了。\a是响铃。答案可能是C,C的第一个\011 ASCII码表里有11,但是没有011,应该\011是非法的转义字符。[/quote]
8进制转义都是错的?
8 楼
雪光风剑 [专家分:27190] 发布于 2010-06-25 00:23:00
找到了带答案的题目。
http://cncc.bingj.com/cache.aspx?q=%e4%bb%a5%e4%b8%8b%e5%9b%9b%e4%b8%aa%e9%80%89%e9%a1%b9%e4%b8%ad%ef%bc%8c%e5%9d%87%e6%98%af%e4%b8%8d%e5%90%88%e6%b3%95%e7%9a%84%e8%bd%ac%e4%b9%89%e5%ad%97%e7%ac%a6%e7%9a%84%e9%80%89%e9%a1%b9%e6%98%af&d=4633758711943525&mkt=zh-CN&setlang=zh-CN&w=2912a55c,69db9735
第18题。我的答案没问题的
9 楼
雪光风剑 [专家分:27190] 发布于 2010-06-25 00:26:00
http://baike.baidu.com/view/73.htm
韩度上关于转义字符的解释……这到底莫非考察的不是C的转义??
10 楼
senluo [专家分:10] 发布于 2010-06-25 00:54:00
手里的是《C和指针》,上面也是有 \a 这个响铃字符的。之前那个八进制转义符,我只是怀疑\011里的那个‘0’有没有影响。
刚刚看了StandardC99 在P19页上有\a 将自动产生声音或者其他可见警告信号。还是怀疑\011并不等同于\11
我来回复