A-A+
有下列程序段: #include <iostream> using namespace st
问题详情
有下列程序段: #include <iostream> using namespace std; int main() { char b[] = "Hello,you"; b[5] = 0; cout<<b<<end1; return 0; } 执行此程序后,得到的输出结果是()。
A.Hello,you
B.Hello0you
C.Hello
D.0请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:C
解析:本题考核字符数组的特性。本题表面上看起来很简单,其实不然,出题者在题中隐藏了一个陷阱。常见的错误答案是:字符数组b初始化后,得b[5]='',执行“b[5]=0;”后,把0代替b[5]中的','即可。最后输出整个字符串“Hello0you”。下面是正确解答:在C++语言中规定:以字符’0’作为字符串结束标志。语句“b[5]=0;”就相当于语句b[5]='\0',即在数组b的b[5]加上了字符串结束标志,故执行该语句后,数组中存放的内容变为Hello。