这是家庭作业。我想我会让你知道的。如果你能指点我的方向,帮助我发现为什么会发生这种错误,我将不胜感激。
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。
想想如果两个或更多的值相等会发生什么…

10-02 05:02