我有一个结构,其中包含一个整数数组和一个显示队列末尾的 int (“后”)。我有一些函数,例如add()、remove() 和print()。
remove() 函数应该向前移动所有项目(有效地删除 arr[0],将其替换为 arr[1],但它不起作用。
如果我的数组看起来像 111,222,333,444 并且我调用 remove(),结果看起来像 112,223,334 等。
到目前为止,我能够解决所有经常非常令人沮丧的问题,主要与 Java 相关,但是我根本不理解这个 C 问题。我希望你能提供一些意见。谢谢。
代码的相关部分:
void remove( struct queue *q )
{
int i;
system ("cls");
if ( q->rear > 0)
{
printf("\n\n%d has been removed\n\n", q->rank[0]);
q->rear--;
for ( i = 0; i < q->rear; i++)
{
q->rank[i] = q ->rank[i]++;
printf(rank[i])
}
q->rank[(q->rear +1)] = NULL;
}
else
{
printf("\n\nThe queue is empty\n\n");
}
}