itgle.com

下列语句所定义字符串在内存中占的字节数是______。 char*s="\'Name\'\\\'Age\'\n";A.定义中有语法错误B.20C.19D.14

题目

下列语句所定义字符串在内存中占的字节数是______。 char*s="\'Name\'\\\'Age\'\n";

A.定义中有语法错误

B.20

C.19

D.14


相似考题

3.使用VC6打开考生文件夹下的工程test4_3。此工程包含一个源程序文件test4_3.cpp,其对一个学校的教师和考生情况进行了描述。由于教师和考生之间有相同的信息,如姓名、年龄等,所以可抽象出一个基类person,考生类student和教师类teacher作为person类的派生类。请按要求完成下列操作,将程序中的类定义补充完整。(1)定义基类person的私有数据成员name和age,分别用于表示姓名和年龄,name为字符指针,age为血型的数据。请在注释“//**1**”之后添加适当的语句。(2)完成基类person的重载构造函数person(char *mint a)的定义,把数据成员name,age分别初始化为参数n,a的值,请在注释“//**2**”之后添加适当的语句。(3)根据主函数main中对s1的声明,定义派生类student的构造函数。在注释“//**3**”之后添加适当的语句。(4)完成派生类teacher成员函数void setinf(ehar *n,int a,char *d,char *1)的定义,其功能为记录教师的姓名、年龄、院,系与职称信息。请在注释“//**4**”之后添加适当的语句。输出结果如下:刘雷(45)destructor蒋军(23)destructor注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件test4_3.cpp清单如下:include<iostream.h>class person{//**1**public:person(){}person(char *n,int a){//**2**}void setname(char *n){name=n;)void setage(int a){age=a;}~person(){cout<<name<<"("<<age<<")destructor"<<endl;)};class student:public person{char *department;int code;public://**3**{department=d;code=c;}};class teacher:public person{char *department;char *level;public:teacher(){}void setinf(char *n,int a,char *d,char *1){//**4**department=d;level=1;}};void main(){student s1("蒋军",23,"计算机学院",2);teacher t1;t1.setinf("刘雷",45,"计算机学院","教授");}

参考答案和解析
正确答案:D
解析:转义字符在内存中占一个字节,字符串结束标志也占一个字节,实际存储空间是14个字节,但若用strlen函数求长度时,值为13,结束标志不算。
更多“下列语句所定义字符串在内存中占的字节数是______。char*s="\'Name\'\\\'Age\'\n";A.定义中有语法 ”相关问题
  • 第1题:

    下列程序的输出结果为 main() { union u {char *name; int age; int income;}s s.name="WANGLIONG"; s.age=28; s.income=1000; printf("%d\n",s.age); }

    A.28

    B.1000

    C.0

    D.不确定


    正确答案:B
    解析: 本题对共用体的使用进行了考查。由于共用体所有成员共同占据一段存储空间,所以对成员变量的赋值,后面的赋值会覆盖掉前面的赋值,因为s.income=1000;是最后一次成员变量赋值,变量age与变量income共同占据一段存储空间,所以age的值也为1000。

  • 第2题:

    若结构体struct p定义如下: struct p { char name[20]; int age; }; 则下列声明和语句正确的是() 。

    A.struct p p1; scanf("%s%d", p1.name, p1.&age);

    B.struct p p1; p1={"Zhang", 20};

    C.struct p p1; scanf("%s%d", p1->name, &p1->age);

    D.struct p p1={"Zhang", 20};


    struct STRU

  • 第3题:

    【单选题】关于一维数组的定义,以下说法正确的是()

    A.char name[20]; 该语句定义了数组名为name的char型数组,该数组有20个元素,能够存储20个字符串。

    B.char name[20]; 该语句定义了数组名为name的char型数组,该数组有20个元素,能够存储20个字符。

    C.int n=20; char name[n]; 以上语句定义了数组名为name的char型数组,该数组有20个元素,能够存储20个字符。

    D.int n=20; char name[n]; 以上语句定义了数组名为name的char型数组,该数组有20个元素,能够存储20个字符串。


    数组名可以是任意的标识符

  • 第4题:

    可以使用如下语法来直接定义变量并赋值:变量类型 变量名 = 变量的值;比如,如下语句:char ch = ‘n’;定义个char类型的变量c,并将其赋值为’s’。


    B

  • 第5题:

    有以下结构体说明、变量定义和赋值语句 struct STD { char name[10]; int age; char sex; } s[5],*ps; ps=&s[0]; 则以下scanf函数调用语句有错误的是()

    A.scanf("%s",s[0].name);

    B.scanf("%d",&s[0].age);

    C.scanf("%c",&(ps->sex));

    D.scanf("%d",ps->age);


    A ps一>age不是地址,不能用于scanf函数中。所以选择A)。