回 帖 发 新 帖 刷新版面

主题:几个习题不太明白,望高人指点。

以下四个选项中,均是不合法的转义字符的选项是()?

A) '\"'        B) '\1011'    C) '\011'    D) '\abc' 

  '\\'            '\'            '\f'        '\101' 
  
  '\xf'           '\a'           '\}'        'x1f' 
请说明的详细些,谢谢!


回复列表 (共14个回复)

沙发

B
A里至少中间那个是合法转义成\的
C里第一个是8进制转义
D里第二个是8进制转义

板凳

还有一个题:
以下程序运行结果是:()
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 楼

我觉得有可能是你的代码抄错了
z=(x>y)?++x:++y;里面z的结果是3没争议……

4 楼

Z不是等于0吗?

5 楼

[quote]B
A里至少中间那个是合法转义成\的
C里第一个是8进制转义
D里第二个是8进制转义[/quote]

 '\a'这个不正确么?不是alarm么?

6 楼

\?  代表?            \'  代表'
\"  代表"             \\  代表\

\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 楼

[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 楼

找到了带答案的题目。
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 楼

http://baike.baidu.com/view/73.htm
韩度上关于转义字符的解释……这到底莫非考察的不是C的转义??

10 楼

手里的是《C和指针》,上面也是有 \a 这个响铃字符的。之前那个八进制转义符,我只是怀疑\011里的那个‘0’有没有影响。

刚刚看了StandardC99 在P19页上有\a 将自动产生声音或者其他可见警告信号。还是怀疑\011并不等同于\11 

我来回复

您尚未登录,请登录后再回复。点此登录或注册