问题 单项选择题

有以下程序
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
C) n/No
Yes
/No
D)
/No
Yes

答案

参考答案:B

解析: 首先我们需要了解一下puts函数,puts函数是C语言中定义的一个输出函数,它打印出当前字符串,直到遇到“\0”为止。而在这道题中,我们应该注意“\”和“/”,前者是转义字符的定义,而后者没有实际的意义,只表示一个字符。首先,puts函数输出的字符串是s数组中的第五个,即“/”,第一个输出的是/No,而到了第二个输出的时候,遇到了转义字符“\n”,则停止输出,因此输出的是Yes。所以最后的结果是B。

选择题
单项选择题 共用题干题