以下函数findmin拟实现存数组中查找最小值作为函数值返回,但程序中有错导致不能实现预定功能。#de

15 查阅

以下函数findmin拟实现存数组中查找最小值作为函数值返回,但程序中有错导致不能实现预定功能。 #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个字节的内存单元,并按整型数的存储方式存放数据,允许存放的数值范围是:-2147483648~2147483647。所以在这个题目中定义的宏变量MAX的值就是整数范围内最大的数值,因而对于任意一个整数来说,其值都比MAX小,而判断最小值,是当找到的数比min小时,才交换。

计算机二级