首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi 1.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为: sizeof(strl)=5 sizeof(str2)=10 sizeof(str3)=l
使用VC6打开考生文件夹下的源程序文件modi 1.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为: sizeof(strl)=5 sizeof(str2)=10 sizeof(str3)=l
admin
2019-07-10
68
问题
使用VC6打开考生文件夹下的源程序文件modi 1.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为:
sizeof(strl)=5
sizeof(str2)=10
sizeof(str3)=l
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//********error********的下面。
(1)不能删除assert()语句;
(2)只能修改后面的数字。
提示:assert()函数如果为假,则会产生一个中断异常。
1 #include
2 #include
3 void main()
4 {
5 char*strl=”abc”;
6 //********error********
7 assert(sizeof(strl)==3);
8 cout<<"sizeof(strl) = 5"<
9 char str2[10]="ab";
10 //********error********
11 assert(si zeof(str2)==2);
12 cout<<"sizeof(str2)=10"<
13 char str3=23 ;
14 //********error********
15 assert(sizeof(str3)==4);
16 cout<<"si zeof(str3)=1"<
17 return;
18 }
选项
答案
(1)assert(Si zeof(strl)==4); (2)assert(Sizeof(str2)==10); (3)assert(Sizeof(str3)==1);
解析
本题的功能是利用assert()函数,则会产生一个中断异常。从已定源程序的main主函数开始入手,依次执行程序中的语句,输出题目中要求的输出值。本题在调试的时候并不会产生错误,它的错误是逻辑错误。
[解题思路]
(1)assert()函数如果为假,则会产生一个中断异常。所以要让它正常执行输出结果,那么assert()函数就要为真,才不会产生中断异常。“assert(sizeof(strl)==3);”语句中“sizeof(strl)==3”为假,这个会使程序产生异常,不能正常执行。凶为strl的值为abc但是它还有一个尾符,所以它的长度应该是4,而不是3,所以第1个标识下修改为“assert(sizeof(str 1)==4);”。
(2)同(1),str2[10]说明,str2的空间为10,第2个标识下修改为“assert(sizeof(str2)--lO);”。
(3)同(1),char str3=23;语句说明23是字符,占空间为l,所以修改为“assert(sizeof(str3)==1);”。
转载请注明原文地址:https://kaotiyun.com/show/LW8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对建立良好的程序设计风格,下面描述正确的是
有如下程序:#include<iostream>usingnamespacestd;classAA{intn;public:AA(intk):n(k){}intget(
请将下列程序的横线处补充完整,使得输出结果为bbaa#include<iostream>usingnamespacestd;classA{public:______{cout<<"aa
下列关于运算符重载的描述中,正确的是()。
下列各循环语句中,不是死循环的是()。
下列程序的输出结果是#include<iostream.h>voidmain(){char*str="12123434";intx1=0,x2=0,x3=0,x4=0,i;for(i=0;str[i]!=
在表达式x+y*z中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的是()。
下列符号中可以用作C++标识符的是()。
下列符号中可以用作C++标识符的是()。
随机试题
Thebabyelephant,Sheila,was【A1】________BelfastZoobecauseoffearsshemightbehitbybombersduringtheBelfastBlitzof
促进政治发展的重要方式和手段是政治革命和______。
局部反应的空间总和是
患者,女,65岁。绝经15年。近半年阴道流血性分泌物,量中等,间断有少量阴道流血。妇科检查:阴道呈漏斗型,宫颈呈溃疡状,触痛(+),子宫小、固定,双侧宫旁呈团饼状增厚,质硬,达盆壁,锁骨上淋巴结(-)。患者治疗后半年,出现左腿痛、肿胀,伴腰骶部疼痛,同
下列关于标准券的说法正确的是()。
下列连线正确的是:
(2005年)设函数单位向量则
IT服务计费管理是负责向使用IT服务的客户收取相应费用的流程,它是IT财务管理中的重要环节,常见的计费定价方法有多种,当其表达成“IT服务价格=FT服务成本+X%”时,应属于______。
Thecomprehensionpassagesonthiscoursearedesignedtohelpyouincreaseyourspeed.Ahigherreadingrate,withnolossofc
A、It’sverygood.B、Itshouldbehigher.C、It’sthesameasthepostofficepays.D、Itvariesaccordingtotheperson’sexperien
最新回复
(
0
)