这个代码有什么问题 void Delete int nNumb = 0; char c = 0; printf请输入要删除的员工编号:; scanf_sd &nNumb; SInfo p = FindNumbnNumb; printf您确定要删除吗输入Yy确认:; scanf_ss &c sizeofc; if c != Y c != y return; if !p
- scanf_s()函数的第二个参数应该是变量的大小,而不是sizeof(c)。应该改为sizeof(char)。
- 在判断用户是否确认删除时,应该使用逻辑运算符“&&”而不是“||”。因为如果用户输入的不是“Y/y”,那么就会进入if语句的分支,导致函数直接返回,无法执行后续的删除操作。
- 在temple()函数调用之前,应该先判断p是否为NULL,否则会产生段错误。
- 在删除元素后,应该将数组中的元素向前移动,而不是直接将最后一个元素赋值为空。
原文地址: https://www.cveoy.top/t/topic/bj1g 著作权归作者所有。请勿转载和采集!