我想知道如何处理传递给另一个变量的未初始化变量。
我正在尝试编写一个程序,在该程序结束时,用户输入所有数字后,将显示最高和最低数字。
int n[5], i, small, large;
for(i=0; i < 5; i++){
printf("Enter number: ");
scanf("%d", &n[i]);
if(n[i] >= large){
large = n[i];
}
else if (n[i] <= small){
small = n[i];
}
这将产生正确的输出(指出最小的数字),但是对于最大的数字,将产生一个随机数。
除了将大号设置为0(当输入负数时会使程序不准确)之外,该如何处理?
谢谢。
答案 0 :(得分:0)
从概念上讲,简单的方法是将large
初始化为-Inf
,并将small
初始化为+Inf
。由于您使用的是int
值,因此只需使用int
limits.h
值
#include <limits.h>
...
int n[5], i, small = INT_MAX, large = INT_MIN;
答案 1 :(得分:0)
您必须将large
初始化为非常小的值,并将small
初始化为非常大的值。您可以使用limits.h
int small = INT_MAX, large = INT_MIN;