\n进程顺利执行.\n\n");Р?return;Р如果安全检测时安全的,则程序就会找出一个安全的序列,例如:Рp0,p1,p2,p3,p4。此程序在找安全序列的时候每次都是从头开始找的Рfor (i = 0; i < process; i++)Р?{Р for (j = 0; j < ava; j++)////寻找条件 Need[i]<=Work[i] Р {Р if (need[i][j] > work[j])Р {Р break;Р }Р }Р if ((j == ava) && (finish[i] == 0))///寻找条件 Finish[i]=false ,每次从头开始找安全序列Р {Р finish[i] = 1;Р for (k = 0; k < ava; k++)Р {Р work[k] = work[k] + allocation[i][k];Р }Р p[l] = i;//记录安全序列Р l++;Р //i = -1;///重置i,为了寻找安全序列Р }Р elseР {Р continue;Р }Р if (l == process)//可以找到安全序列,输出并结束Р {Р printf("\n系统安全!\n");Р printf("安全序列为:");Р for (k = 0; k < l; k++)Р {Р printf("P(%d)", p[k]);Р if (k != l - 1)Р {Р printf("-->");Р }Р }Р return 1;Р }Р?}Р?printf("\n系统不安全,不能满足你的要求!\n");Р?return 0;Р最后一步是调用显示函数showdate()函数,此函数让我们更加直观的看到银行家算法的运行过程,?{Р printf("P(%d) ", i);Р for (j = 0; j < ava; j++)