【发布时间】:2021-05-31 07:34:59
【问题描述】:
谁能帮我找出程序中的错误,即在给定数组中查找最小和最大元素。我知道这是一个简单的错误,但我无法弄清楚。
#include <stdio.h>
# define SIZE 10
int main()
{
int min;
int max;
int i; //counter variable
int arr[SIZE] = {2,4,5,7,8,100,4,1};
//check min and max of given array
min = arr[0];
max = arr[0];
for(i =0; i< SIZE;i++)
{
if(arr[i]<min)
{
min = arr[i];
}
if(arr[i]>max)
{
max = arr[i];
}
}
printf("minimum is %d\n",min);
printf("maximum is %d\n",max);
return 0;
}
【问题讨论】:
-
为什么你认为有错误?请注意,您的数组中有几个零,因为初始化器比
SIZE短。 -
未正确打印最小值。 @尤金
-
请阅读整个评论。我希望它为
min打印0 -
SIZE是10,数组仅使用8元素初始化。其余为零 -
@alex01011 在这种情况下,另一段适用(因为这不是静态的):字符串文字中的字符用于初始化已知大小的数组而不是数组中的元素,聚合的其余部分应隐式初始化,与具有静态存储持续时间的对象相同。
标签: arrays c loops max minimum