问题 单项选择题

有以下程序:
main()
char s[]="Yes\n/No",*ps=s;
puts(ps+4);
*(ps+4)=0;
puts(s);

程序运行后的输出结果是(选项D中的第一行是空行) ______。

A.n/No
Yes
/No

B./No
Yes
Yes

C.n/No
/No

D.Yes
/No

答案

参考答案:B

解析: 本题中ps指向符号串"Ye\n/No",ps+4表示“/”的地址,故puts(ps+4)输出符号串/No,执行语句*(ps+4)=0后,字符数组s中的符号串为"Yes\n\0No",'\0'是字符串的结束标志,故puts(s)输出Yes。

选择题
单项选择题