问题
单项选择题
有以下程序: 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。