首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为: sizeof(str1)=5 sizeof(str2)=10 sizeof(str3)=1
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为: sizeof(str1)=5 sizeof(str2)=10 sizeof(str3)=1
admin
2017-11-27
13
问题
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为:
sizeof(str1)=5
sizeof(str2)=10
sizeof(str3)=1
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//********error********的下面。
(1)不能删除assert()语句;
(2)只能修改后面的数字。
提示:assert()函数如果为假,则会产生一个中断异常。
#include
#include
void main()
{
char* str1="abc";
//********error********
assert(sizeof(Str1)==3);
cout<<"sizeof(Str1) = 5"<
char str2[10]="ab";
/zsert(sizeof(str2)==2);
cout<<"sizeof(Str2)=10"<
char str3=23;
//********error********
assert(sizeof(str3)==4);
cout<<"sizeof(Str3)=1"<
return;
}
选项
答案
(1)assert(sizeof(str1)==4); (2)assert(sizeof(str2)==10); (3)assert(sizeof(str3)==1);
解析
(1)assert()函数如果为假,则会产生一个中断异常。所以要让它正常执行输出结果,那么assert()函数就要为真,才不会产生中断异常。“assert(sizeof(strl)==3);”语句中“sizeof(str1)==3”为假,这个会使程序产生异常,不能正常执行。因为str1的值为abc但是它还有一个尾符,所以它的长度应该是4,而不是3,所以第1个标识下修改为“assert(sizeof(str1)==4);”。
(2)同(1),str2[10]说明,str2的空间为10,第2个标识下修改为“assert(sizeof(str2)==10);”。
(3)同(1),char str3=23;语句说明23是字符,占空间为1,所以修改为“assert(sizeof(str3)==1);”。
转载请注明原文地址:https://kaotiyun.com/show/hDAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在类体系中访问一个虚函数时,应使用指向______的指针或对基类类型的引用,以满足运行时多态性的要求。
有如下程序:#include<iostream>#include<iosream>usingnamespacestd;classBASE{charc;public;BASE(charn):c(n){
()是一个在基类中说明的虚函数,它在该基类中没有定义,但要求任何派生类都必须定义自己的版本。
若执行下面的程序时,从键盘上输入3和4,则输出结果是main(){inta,b,s;cin>>a>>b;s=a;if(a<B)s=b:s=s*s;cout<<s<<end1;}
析构函数的特征包括
在文件操作中,代表以追加方式打开文件的模式是
设有定义 class C { public: int value; … }; int x, * p; 则以下引用形式中,正确的是
类MyClass的定义如下:classMyClass{public:MyClass(){value=0;}SetVariable(inti){value=i;}private:intvalue;
为了培养良好的程序设计风格,下列描述中正确的是
在长度为n的有序线性表中进行二分查找,需要的比较次数为
随机试题
A.地西泮B.佐匹克隆C.唑吡坦D.三唑仑E.苯巴比妥用于治疗严重睡眠障碍;偶发性失眠症和暂时性失眠症的是
下列选项中,不属于民事诉讼当事人的是
目多见于
大多数Burkitt淋巴瘤染色体为
继发性腹膜炎最常见的病原菌是
在IP协议中用来进行组播的IP地址是()地址。
下列各项中,在计算企业全部投入资本总额时不需要考虑的是()。
按照设计模式的目的进行划分,现有的设计模式可以分为三类。其中创建型模式通过采用抽象类所定义的接口,封装了系统中对象如何创建、组合等信息,其代表有①模式等;②模式主要用于如何组合已有的类和对象以获得更大的结构,其代表有Adapter模式等;
执行下列语句后,输出结果为steven的是 Char * str="steven"; cout. write(str, );
HowdidtheEnglishChannelcomeintobeing?
最新回复
(
0
)