以下函數(shù)findmin擬實(shí)現(xiàn)存數(shù)組中查找最小值作為函數(shù)值返回,但程序中有錯(cuò)導(dǎo)致不能實(shí)現(xiàn)預(yù)定功能。#de
以下函數(shù)findmin擬實(shí)現(xiàn)存數(shù)組中查找最小值作為函數(shù)值返回,但程序中有錯(cuò)導(dǎo)致不能實(shí)現(xiàn)預(yù)定功能。 #define MAX 2147483647 int findmin(int x[],int n) {int i,min; min=MAX; for(i=0;i<n;i++) {if(min<x[i])min=x[i];} } 造成錯(cuò)誤的原因是( )。
A.定義語(yǔ)句int i,min;中min未賦初值
B.賦值語(yǔ)句min=MAN;中,不應(yīng)給min賦MAX值
C.語(yǔ)句if(min<X[i])min=X[i];中判斷條件設(shè)置錯(cuò)誤
D.賦值語(yǔ)句min=MAX;放錯(cuò)了位置
正確答案:D解析:在C語(yǔ)言中,一個(gè)整型變量占用4個(gè)字節(jié)的內(nèi)存單元,并按整型數(shù)的存儲(chǔ)方式存放數(shù)據(jù),允許存放的數(shù)值范圍是:-2147483648~2147483647。所以在這個(gè)題目中定義的宏變量MAX的值就是整數(shù)范圍內(nèi)最大的數(shù)值,因而對(duì)于任意一個(gè)整數(shù)來(lái)說(shuō),其值都比MAX小,而判斷最小值,是當(dāng)找到的數(shù)比min小時(shí),才交換。
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢(xún)相關(guān)領(lǐng)域?qū)I(yè)人士。