参考答案和解析
参考答案:A
更多“strlen(str)是用来()。 ”相关问题
  • 第1题:

    执行下列语句后,输出结果为steven的是

    char*str="steven";

    eout.write(str, );

    A.strlen(str)

    B.sizeof(str)

    C.strlen(str+1)

    D.sizeof(str-1)


    正确答案:A
    解析:本题考察在C++中,字符串的存放方式,以及不同的字符串函数的作用。其中,strlen是专门用于求字符串长度的,其自动去掉字符数组后面的那个‘\0’,而sizeof后面求的则是str指针,指针在目前的32位机器中是固定大小的,其值与字符串的长度是没有关系的。故可以排除B和D。而选项C则将‘\0’多考虑了一次。

  • 第2题:

    执行下列语句后,输出结果为steven的是 Char * str="steven"; cout. write(str, );

    A.strlen(str)

    B.sizeof(str)

    C.strlen(str+1)

    D.sizeof(str-1)


    正确答案:A
    解析:本题考察在C++中,字符串的存放方式,以及不同的字符串函数的作用.其中, strlen是专门用于求字符串长度的,其自动去掉字符数组后面的那个‘/0’,而sizeof后面求的则是 str指针,指针在目前的32位机器中是固定大小的,其值与字符中的长度是没有关系的。故可以排除B和D。而选项C则将‘/0’多考虑了一次。

  • 第3题:

    设有定义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及流提取符>>的使用规则。

  • 第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题:

    设有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));


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