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