- 相關(guān)推薦
計(jì)算機(jī)二級(jí)C上機(jī):程序改錯(cuò)題
為了使廣大考生在備戰(zhàn)計(jì)算機(jī)等級(jí)考試時(shí),更快的掌握相應(yīng)知識(shí)點(diǎn),下面是小編搜索整理的計(jì)算機(jī)二級(jí)C上機(jī):程序改錯(cuò)題,供參考練習(xí),預(yù)祝考生們考出自己理想的成績(jī)!
程序改錯(cuò)題
使用VC++6.0打開(kāi)考生文件夾下的源程序文件1.cpp,該程序運(yùn)行時(shí)有錯(cuò),請(qǐng)改正程序中的錯(cuò)誤,使程序輸出的結(jié)果為
150
200
注意:錯(cuò)誤的語(yǔ)句在//******error******的下面,修改該語(yǔ)句即可。
提示:定義Numl為一個(gè)整型數(shù)據(jù)位長(zhǎng)的變量。
試題程序:
#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處是定義結(jié)構(gòu)體,結(jié)構(gòu)體定義的一般形式為
struct(結(jié)構(gòu)體名>
{
<成員列表>
}
(變量名列表);
程序當(dāng)中定義結(jié)構(gòu)體名放在后面,MyStruct為結(jié)構(gòu)體變量類型,相當(dāng)于typedef為已有的類型定義一個(gè)新的類型,第1處應(yīng)改為“typedefstruct”。第2處是定義Numl為一個(gè)整型數(shù)據(jù)變量,整型數(shù)據(jù)位數(shù)為32(4字節(jié)),因此第2處應(yīng)改成“intNuml:32;”或“intNuml;”。ptr為整型數(shù)據(jù)指針,mstr為MyStruct類型結(jié)構(gòu)變量,兩者類型不一致應(yīng)該做強(qiáng)制類型轉(zhuǎn)換,第3處應(yīng)改成“int*ptr=(int*)&mstr;”,表示將mstr的地址給ptr,ptr指向MyStruct的第一個(gè)域Numl,Numl也是整型,類型一致,故可通過(guò)ptr指針來(lái)改變Numl的值。
【計(jì)算機(jī)二級(jí)C上機(jī):程序改錯(cuò)題】相關(guān)文章:
計(jì)算機(jī)二級(jí)C語(yǔ)言程序上機(jī)指導(dǎo)10-29
計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)程序填空題09-26
計(jì)算機(jī)二級(jí)C語(yǔ)言預(yù)測(cè)上機(jī)精選訓(xùn)練題07-05
2017計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)題庫(kù)及答案08-07
計(jì)算機(jī)二級(jí)考試《C語(yǔ)言》上機(jī)答題技巧06-27
2017計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)特訓(xùn)題08-12
計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)沖刺試題及答案08-29