以下函数findmin拟实现在数组中查找最小值并作为函数值返回,但程序中有错导致不能实现预定功能。 #define MAX 2147483647 int findmin(int x[],int n) { int i,min;

admin2021-07-09  19

问题 以下函数findmin拟实现在数组中查找最小值并作为函数值返回,但程序中有错导致不能实现预定功能。
    #define MAX  2147483647
    int findmin(int x[],int n)
    {  int i,min;
    min=MAX;
    for(i=0;i    {  if(min)min=x;}
    return min;
    }
    造成错误的原囚是(    )。

选项 A、定义语句int i,min;中min未赋初值
B、赋值语句min=MAN;中,小应给min赋MAX值
C、语句if(min)min=X;中判断条件设置错误
D、赋值语句min--MAX;放错了位置

答案D

解析 在C语言中,一个整型变量占用4个字节的内存单元,并按整型数的存储方式存放数据,允许存放的数值范围是:-2147483648~2147483647。所以在这个题目中定义的宏变量MAX的值就是整数范围内最大的数值,因而对于任意一个整数来说,其值都比MAX小,而判断最小值,是当找到的数比min小时,才交换。
转载请注明原文地址:https://kaotiyun.com/show/cdtp777K
0

最新回复(0)