有下列程序段: #include <iostream> using namespace std; int main() { char b[] = "Hello,you"; b[5] = 0; cout

admin2010-06-06  35

问题 有下列程序段:    #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

答案4

解析 本题考核字符数组的特性。本题表面上看起来很简单,其实不然,出题者在题中隐藏了一个陷阱。常见的错误答案是:字符数组b初始化后,得b[5]=’’,执行“b[5]=0;”后,把0代替b[5]中的’,’即可。最后输出整个字符串“Hello0you”。下面是正确解答:在C++语言中规定:以字符’0’作为字符串结束标志。语句“b[5]=0;”就相当于语句b[5]=’\0’,即在数组b的b[5]加上了字符串结束标志,故执行该语句后,数组中存放的内容变为Hello。
转载请注明原文地址:https://kaotiyun.com/show/2rjp777K
0

最新回复(0)