设有char str[80]以下不能将输入数据first\nsecond\n<CR>读取到数组sir中的语句是A.cin.get(str,

题目
设有char str[80]以下不能将输入数据first\nsecond\n读取到数组sir中的语句是A.cin.get(str,

设有char str[80]以下不能将输入数据first\nsecond\n<CR>读取到数组sir中的语句是

A.cin.get(str, strlen(str));

B.cin.getline(str, strlen(str));

C.cin>>str;

D.cin.read(str, strlen(str));

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

下列初始化字符数组的语句,正确的是()。

A.char[] str = {'h', 'e', 'l', 'l', 'o'};

B.char[5] str = "hello";

C.char[5] str = {"hi"};

D.char[100] str = "";


A

第2题:

设有定义charstr[80];以下不能将输入数据first\nsecond\n读取到数组str中的语句是( )。

A.cin.get(str,strlen(str));

B.cin.getline(str,strlen(str));

C.cin>>str;

D.cin.read(str,strlen(str));


正确答案:D
D。【解析】本题考查cin流对象的几种成员函数get,getline,read及流提取符>>的使用规则。

第3题:

下面的程序各自独立,请问执行下面的四个TestMemory 函数各有什么样的结果?

①void GetMemory(char * p)

{

p = (char * )malloc(100);

}

void TestMemory (void)

{

char *str = NULL;

GetMemory (str);

strcpy(str, "hello world");

prinff(str);

}

② char * GetMemory (void)

{

char p[ ] = "hello world";

return p;

}

void TestMemory (void)

{

char * str = NULL;

str = GetMemory( );

printf(str);

}

③void GetMemory(char * * p, int num)

{

* p = (char * )malloc(num);

}

void TestMemory (void)

{

char * str = NULL;

GetMemory(&str, 100);

strcpy( str, "hello" );

printf(sir);

}

④void TestMemory (void)

{

char *str = (char * )malloe(100);

strepy (str, "hello" );

free ( str );

if(str ! = NULL)

{

strepy( str, "world" );

printf(str);

}

}


正确答案:程序1程序崩溃。因为GetMemory并不能传递动态内存TestMemory函数中的str一直都是 NULL。strcpy(str “hello world”);将使程序崩溃。 程序2可能是乱码。因为GetMemory返回的是指向“栈内存”的指针该指针的地址不是 NULL但其原来的内容已经被清除新内容不可知。 程序3能够输出hello但是会发生内存泄漏。 程序4篡改动态内存区的内容后果难以预料非常危险。因为free(str);之后str成为野指针if(str!=NULL)语句不起作用。
程序1程序崩溃。因为GetMemory并不能传递动态内存,TestMemory函数中的str一直都是 NULL。strcpy(str, “hello world”);将使程序崩溃。 程序2可能是乱码。因为GetMemory返回的是指向“栈内存”的指针,该指针的地址不是 NULL,但其原来的内容已经被清除,新内容不可知。 程序3能够输出hello,但是会发生内存泄漏。 程序4篡改动态内存区的内容,后果难以预料,非常危险。因为free(str);之后,str成为野指针,if(str!=NULL)语句不起作用。

第4题:

设有char str[80];以下不能将输入数据first\nsecond\n读取到数组str中的语句是A.cin.get(str

设有char str[80];以下不能将输入数据first\nsecond\n<CR>读取到数组str中的语句是

A.cin.get(str,strlen(str));

B.cin.getline(str,strlen(str));

C.cin>>str;

D.cin.read(str,strlen(str));


正确答案:B
解析:本题考察C++中输入输出流对象的一些常用成员函数的用法。其中get和getline的区别在于getline读取中以"\n"作为输入结束符。故本题中getline只能接收第一个换行符之前的字符,即first。后面的字符被丢弃。因此正确答案应为B。

第5题:

设有以下定义和语句: 则以下叙述中正确的是( )。A.str数组长度和P所指向的字符串长度相等SXB

设有以下定义和语句:则以下叙述中正确的是( )。

A.str数组长度和P所指向的字符串长度相等

B.*P与str[0]的值相等

C.str与P的类型完全相同

D.数组str中存放的内容和指针变量P中存放的内容相同


正确答案:B
P是字符串指针,所指向的字符串为”Program”,其长度为7,而数组str中元素的个数为25,因此选项A)和D)是错误的;p=str;后,指针P指向str的首地址,*P=str[0],因此选项B)是正确的;str是数组,不是指针变量,所以选项c)也是错误的。

第6题:

设有定义charstr[80];以下不能将输入数据first\nsecond\n<CR>读取到数组str中的语句是( )。

A.cin.get(str,strlen(str));

B.cin.getline(str,strlen(str));

C.cin>>str;

D.cin.read(str,strlen(str));


正确答案:D
D。【解析】本题考查cin流对象的几种成员函数get,getline,read及流提取符>>的使用规则。

第7题:

设有定义charstr[80]以下不能将输人数据nrst\nsecond\<CR)读取到数组str的语句是( )。

A.cin.get(str,strlen(str));

B.cin.getline(str,strlen(str));

C.cin>>str;

D.dn.read(str,strlen(str));


正确答案:D
解析: 本题考查cin流对象的几种成员函数get,getline,read及流提取符>>的使用规则。

第8题:

设有定义char str[80];以下不能将输入数据first\nsecond\n读取到数组str中的语句是A.cin.get

设有定义char str[80];以下不能将输入数据first\nsecond\n<CR>读取到数组str中的语句是

A.cin.get(str, strlen(str));

B.cin.getline(str,strlen(str));

C.cin>>str;

D.cin.read(str, strlen(str));


正确答案:D
解析:本题考察cin流对象的几种成员函数get,getline,read及流提取符>>的使用规则。

第9题:

设有定义char str[80];以下不能将输入数据first\nsecond\n读取到数组str中的语句是

A.ein.get(str,strlen(str));

B.cin.getline(str,strlen(str));

C.cin>>str;

D.cin.read(str,strlen(str));


正确答案:D
解析:本题考察cin流对象的几种成员函数get,getline,read及流提取符>>的使用规则。