首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为: sizeof(str1)=5 sizeof(str2)=10 sizeof(str3)=1 注意:不要改动main函数,
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为: sizeof(str1)=5 sizeof(str2)=10 sizeof(str3)=1 注意:不要改动main函数,
admin
2016-10-28
81
问题
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错,请改正其中的错误,使得程序正常运行,并使程序输出的结果为:
sizeof(str1)=5
sizeof(str2)=10
sizeof(str3)=1
注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******error******的下面。
(1)不能删除assert()语句;
(2)只能修改后面的数字。
提示:assert()函数如果为假,则会产生一个中断异常。
#include<iostream.h>
#include<assert.h>
void main()
{
char* str1="abc";
//********error********
assert(sizeof(str1)==3);
cout<<"sizeof(Str1)=5"<<endl;
char Str2[10]="ab";
//********error********
assert(sizeof(str2)==2);
cout<<"sizeof(str2)=10"<<endl;
char str3=23;
//********error********
assert(sizeof(str3)==4);
cout<<"sizeof(str3)=1"<<endl;
return;
}
选项
答案
(1)assert(Sizeof(str1)==4); (2)assert(Sizeof(str2)==10); (3)assert(Sizeof(Str3)==1);
解析
(1)assen()函数如果为假,则会产生一个中断异常。所以要让它正常执行输出结果,那么assert()函数就要为真,才不会产生中断异常。“assert(sizeof(strl)==3);”语句中“sizeof(str1)==3”为假,这个会使程序产生异常,不能正常执行。因为str1的值为abc但是它还有一个尾符,所以它的长度应该是4,而不是3,所以第1个标识下修改为“assen(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/MONp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下能对二维数组a进行正确初始化的语句是
下列C++标点符号中表示一条预处理命令开始的是()。
决定C++语言中函数的返回值类型的是()。
下面程序的结果为【】。#include<iostream.h>voidmain(){inta=1,b=2;boolc=1;if((a>b)||c)
C++语言中标点符号中表示一条预处理命令开始的是
下列类的定义中,有()处语法错误。classBase {public:Base(){}Base(inti){data=i;
下列叙述中正确的是
将E-R图转换到关系模式时,实体与联系都可以表示成
通过使用new和delete两个运算符进行的分配为【】存储分配。
在C++语言中,打开一个文件就是将这个文件与一个什么建立关联?
随机试题
用非清水压井注水泥塞时,修井液前后均必须替入适量()作隔离液。
审美活动是最具________的精神活动。
小脑病变时呈()
以下哪项是洋地黄的禁忌证
幼儿园教育工作的评价以()为主。
教育法律规范是以()保证实施的行为规则。
公安工作具有广泛的(),尤其不能离开人民群众的支持。
Guest:Oh,Ihadn’trealizedhowlateitwas.I’mafraidI’llhavetobegoing.Host:Oh,notyet.I’mjustgoingtomakesomec
有以下程序#includemain(){inti=1,j=3;printf("%d,",i++);{inti=0;i+=j*2;printf("%d,%d,",i,j);}printf("%d,%d\n",i,j)
在计算机网络中,英文缩写WAN的中文名是__________。
最新回复
(
0
)