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