问题
单项选择题
以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能。
#define MIN -2147483647
int findmax(int x[],int n)
int i,max;
for(i=0;i<n;i++)
max=MIN;
if(max<x[i])max=x[i];
return max;
造成错误的原因是
A) 定义语句int i,max;中max未赋初值
B) 赋值语句max=MIN;中,不应给max赋MIN值
C) 语句if(max<x[i])max=x[i];中判断条件设置错误
D) 赋值语句max=MIN;放错了位置
答案
参考答案:D
解析: 对max赋初值,应该要放在循环语句之前,不然每次循环都将是从MIN开始比较。