问题 单项选择题

有以下程序: 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。

解答题
多项选择题