在最短流程下的算法中获取分段错误-核心转储错误

时间:2019-04-21 11:04:30

标签: c

#include<stdio.h>
#include <limits.h>
#include <stdbool.h>

int main(int argc,char* argv[])
{
    int n=4;
    int bt[4];
    bt[0]=6;
    bt[1]=8;
    bt[2]=7;
    bt[3]=3;
    int at[4];
    at[0]=1;
    at[1]=1;
    at[2]=2;
    at[3]=3;
    int shortest=INT_MIN;
    int minm= INT_MAX;
    int t=0;
    bool check= false;
    int complete=0;
    while(complete!=n)
    {
        for(int i=0; i<4; i++)
        {
            if(bt[i] > 0 && bt[i] < minm  && at[i] <= t)
            {
                shortest=i;
                minm= bt[i];
                check=true;
            }
        }
        if(check=false)
        {
            t++;
            continue;
        }

        bt[shortest]--;
        minm= bt[shortest];

        if(minm=0)
        {
            minm=INT_MAX;
        }


        if(bt[shortest]=0)
        {
            complete++;
            check=false;
        }
        t++;
    }


    return 0;
}

这是最短流程下一个算法的代码。我尝试在c#中运行该程序,效果很好,但是当我在Linux中使用c语法实现该算法时,它给了我一个分段故障-核心转储错误。 有人可以帮忙解决这个问题吗?

0 个答案:

没有答案