问题 单项选择题

有以下程序:
#include <stdio.h>
main( )
chars[] ="Yes\n/No",*ps=s;
puts(ps +4); * (pa +4) =0;
puts(s);

程序运行后的输出结果是()。

A.n/No
Yes
/No

B./No
Yes

C./NO
Yes
/No

D.n/No
Yes

答案

参考答案:B

解析: 用puts函数输出的字符串中可以包含转义字符,遇到转义字符,自动跳过去。例如本题中ps+4指的是'/'的地址,并不是'\n'的地址,所以puts(ps+4)输出的是/NO。
C规定以字符'\0',作为字符串结束标志,以便系统据此判断字符串是否结束。本题执行 *(Ps+4)=0之后,再执行puts(s),就相当于输出字符串Yes后遇到结束标志。

单项选择题
单项选择题