Я хочу сделать очередь, которая принимает несколько входов, пока они не обнаружат «сделано», а затем остановится.Переменная, используемая без инициализации (очередность)
Так как его вход:
Pea 1
Pork 2
Cheese 4
done
И затем он возвращается в меню. Вот мой код. Проблема в том, что я получаю сообщение об ошибке «Ошибка проверки времени выполнения №3» - переменная «myJob» используется без инициализации ». Любая идея, почему это может быть? Благодаря!
void multqueue(struct pqueue *pq, struct job myJob) {
struct job temp;
int i, j;
printf("Enter a name and save its priority: \n");
scanf("%s", &myJob.name);
if (strcmp (myJob.name , "done") == 1){
return;}
scanf("%d", &myJob.priority);
if (pq->front == -1) {
pq->front = 0;
}
pq->end++;
pq->node[pq->end] = myJob;
for (i = pq->front; i < pq->end; i++) {
for (j = i + 1; j <= pq->end; j++) {
// Prioritising the queue nodes by comparing priority
if (pq->node[i].priority > pq->node[j].priority) {
temp = pq->node[i];
pq->node[i] = pq->node[j];
pq->node[j] = temp;
} else if (pq->node[i].priority ==
pq->node[j].priority) {
}
}
}
return;
}
Просьба указать свои вопросы на языке программирования, который вы используете, - это поможет получить их нужным людям, которые могут ответить на них. –