这是家庭作业。我想我会让你知道的。如果你能指点我的方向,帮助我发现为什么会发生这种错误,我将不胜感激。
http://pastebin.com/hDUpfrsu是我当前的代码(包括在下面)。为什么当我输入(按此顺序)或其他序列时它会返回一个?
#include <stdio.h>
#include <simpio.h>
#include <genlib.h>
/* finds the minimum among three integers using minimal amount of relational operations */
int main()
{
int myNumbers[2];
bool lowest;
printf("Enter the first integer...\t");
myNumbers[0] = GetInteger();
printf("Enter the second integer...\t");
myNumbers[1] = GetInteger();
printf("Enter the third integer...\t");
myNumbers[2] = GetInteger();
if (myNumbers[0] < myNumbers[1] && myNumbers[0] < myNumbers[2])
{
lowest = myNumbers[0];
}
if (myNumbers[0] > myNumbers[1] && myNumbers[1] < myNumbers[2])
{
lowest = myNumbers[1];
}
if (myNumbers[0] > myNumbers[2] && myNumbers[1] > myNumbers[2])
{
lowest = myNumbers[2];
}
printf("\n%d", lowest);
getchar();
return 0;
}
最佳答案
几个问题:
lowest被定义为bool
,它应该是一个int
,说明您是如何使用它的myNumbers[2]
是一个大小为2的数组,它只能容纳2个数字。将大小声明更改为3。
想想如果两个或更多的值相等会发生什么…