首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为: sizeof(str1)=5 sizeof(str2)=10 sizeof(str3)=1
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为: sizeof(str1)=5 sizeof(str2)=10 sizeof(str3)=1
admin
2018-10-23
30
问题
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为:
sizeof(str1)=5
sizeof(str2)=10
sizeof(str3)=1
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******error******的下面。
(1)不能删除assert()语句;
(2)只能修改后面的数字。
提示:assen()函数如果为假,则会产生一个中断异常。
1 #include<iostream.h>
2 #include<assert.h>
3 void main()
4 {
5 char* str1=’’abc’’;
6 //********error********
7 assert(siZeof(strl)==3);
8 cout<<’’sizeof(str1) = 5’’<<end1;
9 char str2[10]=’’ab’’;
10 //********error********
11 assert(sizeof(str2)==2);
12 cout<<’’sizeof(str2)=10’’<<end1;
13 char str3=23;
14 //********error********
15 assert(sizeof(str3)==4);
16 cout<<’’sizeof(str3)=1’’<<end1;
17 return;
18 }
选项
答案
(1)assert(sizeof(str1)==4); (2)assert(sizeof(str2)==10); (3)assert(sizeof(str3)==1);
解析
本题的功能是利用assert()函数,则会产生一个中断异常。从已定源程序的main主函数开始入手,依次执行程序中的语句,输出题目中要求的输出值。本题在调试的时候并不会产生错误,它的错误是逻辑错误。
(1)assert()函数如果为假,则会产生一个中断异常。所以要让它正常执行输出结果,那么assert()函数就要为真,才不会产生中断异常。“assert(sizeof(str1)==3);”语句中“sizeof(str1)==3”为假,这个会使程序产生异常,不能正常执行。因为str1的值为abe但是它还有一个尾符,所以它的长度应该是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/2wAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
结构化程序设计的3种结构是
如果类中的一个成员函数的定义实现在类内,则该函数系统自动默认为该类的______函数。
在面向对象方法中,类之间共享属性和操作的机制称为______。
以下关于友元函数的叙述不正确的是()。
下列程序的执行结果是()。#inClude<iostream.h)#include(stdlib.h)classTestClass{public:intx,y;TestClass(){x=
下列有关拷贝构造函数的描述中错误的是()。
以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原是()。#include<iostream.h>voidmain(){int*p,*q,a,b;p=&a;eout<<"inputa:";
已知下列程序的输出结果是42,请将横线处缺失的部分补充完整。#include<iostream>usingnamespacestd;classFoo{intvalue;p
如果使用数组名称为函数参数,形实结合时,传递的是______。
随机试题
下列关于骨软骨瘤的叙述正确的是
A.免疫电泳B.免疫固定电泳C.交叉免疫电泳D.对流免疫电泳E.火箭免疫电泳将区带电泳和火箭电泳相结合的技术
患者,男,33岁。双手及膝盖烫伤,有大小不等的水疱,剧烈疼痛。该患者的烫伤已伤及皮肤的
道路工程中的路面等级可划分为高级路面、次高级路面、中级路面和低级路面等,其划分的依据有()。【2005年真题】
下列哪项不构成企业的收入()。
个人进行金融投资主要面临( )税收。
非上市债券的风险报酬率主要取决于()。
试从班级授课制的特点出发,论述实行小班化教学的优越性。
如下图所示,连接在HUB上的4台计算机要求划分在2个VLAN中,HUB上连的交换机应采用的VLAN划分方法是
李氏(Lee)化学公司是全球第三大化学公司,年销售额达280亿美元。李氏生产化工产品、塑料和农用产品,并为180个国家的客户提供服务。李氏在世界各地拥有员工56000人。现诚聘秘书1人。工作职责:准备月报及有关文件等日常秘书工作条件:获英语或秘
最新回复
(
0
)