for循环会遇到的一些问题
查看原帖
for循环会遇到的一些问题
28298
JiaoKan楼主2023/9/28 15:51

for循环condition不会更新!!!

一开始写了个函数找每个工序的开始时间:

int findStart(int machineId, int workpieceId, int time)
{
    int start = last[workpieceId] + 1;
    int i=start;
    for (int i = start; i < time + start; i++)
    {
        if (schedule[machineId][i] == 1) start = i;
    }
    for (int j = start; j < time + start; j++) schedule[machineId][j] = 1;
    return time + start - 1;
}

但是发现结果不对,加一减一都不对,后来让输出了一些中间变量,发现了问题所在:

for (int j = start; j < time + start; j++) schedule[machineId][j] = 1;
    return time + start - 1;
}

condition部分我本意是想让它随着start的改变自动更新的,算是一种取巧,但我发现condition会在第一次进入for语句就被计算好并且不会改变......

最后换成while就ac了

基础没打好了属于是?

2023/9/28 15:51
加载中...