gpt4 book ai didi

c - 如何将空白数组排序到顶部以便我可以删除它们

转载 作者:太空宇宙 更新时间:2023-11-04 04:54:24 25 4
gpt4 key购买 nike

int id_swap()
{
char tempstring[15];

strcpy(tempstring, id[index+1]);
strcpy(id[index+1], id[index]);
strcpy(id[index], tempstring);
}

int delete_student()
{
int found=0;
char id_to_find[10];

printf("Please enter the student ID to delete\n\n");
scanf("%s", & id_to_find);
fflush(stdin);
system("cls");

for(index=0;index<height_of_array+1;index++)
{
if(strcmpi(id_to_find, id[index]) == 0)
{
found=1;
id_swap();
system("cls");
printf("Student deleted");
height_of_array = height_of_array--;
}

好的,这就是我的代码的一部分。发生情况的简单示例

我对已经在项目中的学生进行排序,所以它像这样出现,例如

Student#1 Chris ID: 1831
Student#2 etc
student#3 etc
student#4 Brian ID: 4432
student#5 etc
student#6 etc

但是当我尝试删除例如 Brian 时,它删除了它,但它看起来像这样

student#1 ID:
Student#2 Chris ID:1831
Student#3 etc

有什么方法可以将该空白数组移动到最后一个位置,这样我就可以减少我的“Height_of_array”,以便可存储学生的数量减少 1 以反射(reflect)删除

最佳答案

您的代码存在一些问题:让我大吃一惊:

 fflush(stdin);

永远不要那样做。仅刷新输出流。

height_of_array = height_of_array--;

是未定义的行为,你的意思是:

height_of_array--;

关于c - 如何将空白数组排序到顶部以便我可以删除它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10787424/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com