【发布时间】:2018-04-13 05:39:43
【问题描述】:
我想得到最大偶数的输出。但是当我输入1 2 3(3 次调用scanf)时,输出为4。
#include <stdio.h>
#include <stdlib.h>
int main() {
int ary[100];
int x, y = 0;
int amount;
scanf("%d", &amount);
fflush(stdin);
for (x = 1; x <= amount; x++) {
scanf("%d", &ary[x]);
if (ary[x] % 2 == 0) {
if (ary[0] < ary[x]) {
ary[0] = ary[x];
}
}
}
printf("%d", ary[0]);
getchar();
return 0;
}
【问题讨论】:
-
在
if(ary[0]<ary[x])的第一个元素ary[0]有一个未定义的值。
标签: c arrays loops if-statement scanf