为了动态声明一个内容为”string”的字符串,下列语句中正确的是( )
A. char str=new char[10]; strcpy(str,"string");
B. char *str=new char[10]; strcpy(str,"string");
C. char *str=new char(string);
D. char str[10]=”string”;
观察程序#include <iostream>using namespace std;int main(){int *first,*second;first=new int[5];second=first;delete [] second;delete [] first;return 0;}该程序是否正确,原因是什么?
A. 正确,因为first和second都是独立的指针变量
B. 不正确,因为first和second是相关而非独立的指针变量
C. 正确,second会拷贝first的内容
D. 不正确,second和first指向相同的内容
函数F定义如下:void F() {char str[7] = { 'p', 'r', 'o', 'g', 'r', 'a', 'm'};std::cout << str << std::endl;}调用F()时,将会出现:
A. 编译错误
B. 输出program并换行
C. 输出program以及任意长度的随机字符后换行
D. 输出program
函数F定义如下:void F() {string A = "hello"; string B = "world";std::cout << A+B << std::endl;}调用F()时,将会出现:
A. 编译错误
B. 输出helloworld并换行
C. 输出hello world并换行
D. 输出hello并换行