编译没出错,但运行时候就会出错
#include <stdio.h>
//定义进程的类型
typedef struct Node{
int ddTime;
int fwTime;
int ksTime;
int wcTime;
int zzTime;
int youxian;
int num;//用于记录该进程的编号
}LNode,*PNode;
int main(int argc, char* argv[])
{
int i,j;//用于计数
int temp=0;//用于两数交换
PNode a[5];//定义五个进程
//输入进程的属性:到达时间,服务时间,优先级;
printf("请输入五个进程的到达时间:\n");
for(i=0;i<5;i++)
{
printf("第%d进程到达的时间为:",i+1);
scanf("%d",&a[i]->ddTime); //在这个地方输入就不行 求指教
a[i]->num=i+1;
}
printf("请输入五个进程的服务时间:\n");
for(i=0;i<5;i++)
{
scanf("%d",&a[i]->fwTime);
}
printf("请输入五个进程的优先级时间:\n");
for(i=0;i<5;i++)
{
scanf("%d",&a[i]->youxian);
}
//先来先服务方法
for(i=0;i<5;i++)
{
for(j=i+1;j<5;j++)
{
if(a[i]->ddTime>a[j]->ddTime)
{
temp=a[i]->ddTime;
a[i]->ddTime=a[j]->ddTime;
a[j]->ddTime=temp;
}
}
}
printf("按照FCFS的进程执行顺序为:\n");
for(i=0;i<5;i++)
{
printf("第%d执行的进程为:\n",i+1);
}
return 0;
}
[解决办法]
没有为a[5]分配空间
for i from 1 to 5
a[i] = (Node *)malloc(1 * sizeof(Node));