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