为了使广大考生在备战计算机等级考试时,更快的掌握相应知识点,下面是小编搜索整理的计算机二级C上机:程序改错题,供参考练习,预祝考生们考出自己理想的成绩!程序改错题使用VC++6.0打开考生下面是小编为大家整理的计算机二级C上机:程序改错题(完整),供大家参考。
为了使广大考生在备战计算机等级考试时,更快的掌握相应知识点,下面是小编搜索整理的计算机二级C上机:程序改错题,供参考练习,预祝考生们考出自己理想的成绩!
程序改错题
使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正程序中的错误,使程序输出的结果为
150
200
注意:错误的语句在//******error******的下面,修改该语句即可。
提示:定义Numl为一个整型数据位长的变量。
试题程序:
#include
//******error******
struct
//******error******
intNuml:1;
intNum2;
MyStruct;
voidmain
MyStructmstr;
mstr.Num1=150;
mstr.Num2=15;
//******error******
int*ptr=&mstr.Numl;
cout<<*ptr<<endl;
*ptr=200;
cout<<*ptr<<endl;
答案:
1“typedefstruct”。
2“intNuml:32;”或“intNuml;”。
3“int*ptr=int*&mstr;”。
【解析】第1处是定义结构体,结构体定义的一般形式为
struct结构体名>
<成员列表>
变量名列表;
程序当中定义结构体名放在后面,MyStruct为结构体变量类型,相当于typedef为已有的类型定义一个新的类型,第1处应改为“typedefstruct”。第2处是定义Numl为一个整型数据变量,整型数据位数为324字节,因此第2处应改成“intNuml:32;”或“intNuml;”。ptr为整型数据指针,mstr为MyStruct类型结构变量,两者类型不一致应该做强制类型转换,第3处应改成“int*ptr=int*&mstr;”,表示将mstr的地址给ptr,ptr指向MyStruct的第一个域Numl,Numl也是整型,类型一致,故可通过ptr指针来改变Numl的值。
推荐访问:上机 计算机 程序 计算机二级C上机:程序改错题 计算机二级c上机:程序改错题 计算机二级c语言程序改错题 计算机二级c语言上机题 计算机二级c语言程序修改题几个错误?
【计算机二级C上机:程序改错题(完整)】相关文章: