所以我正在尝试制作一个电话簿程序,并且正在编写一些代码来删除条目。为此,我要求用户输入一个名称,在 strcutres 数组中搜索该名称,然后使用 strcpy() 将副本“NULL”更改为所述数组的元素,以便将其释放以供使用。问题是,我什至不确定我是否做得正确,因为程序几乎立即退出。我之前已经通过添加条目以及在程序开始时将每个元素更改为“NULL”来成功完成此操作,那么为什么现在要这样做呢?
(旁注:我只写了 2 个月的代码,所以我很抱歉这一切看起来和听起来都太业余了。这也是一个作业,所以如果我使用任何不在本教程中的东西,我会被指控作弊。库
起初我以为这是 scanf() 的问题,因为这之前给我带来了问题,但事实似乎并非如此。我还尝试通过重新排列代码删除条目后打印出数组内容,但它似乎也跳过了这一点。如果有帮助的话,我提供的代码发生在开关结构内部。
循环逻辑问题:
您正在使用 else { x++; } 在你的循环中,这可能会不必要地增加 x 。这可能会导致循环跳过条目或过早退出。删除 else { x++; } 行并仅依赖于 for 循环的自然增量。