在调试上花了几天之后,我无法找到下面的代码在打印出错误检查(“期望或缺失”)时创建额外空格的原因。例如,当我按顺序逐个运行这些符号行时。
前两个工作正常,但第三行输入将错误检查错误的位置。但它期望的符号是正确的(<)。当我删除对代码底部的重置功能的调用时,第三行输入的错误检查将位于正确的位置,但其期望的符号不正确:{。很可能是因为堆栈没有从前一行输入重置。
我对打印空间的增量值和char数组本身的大小进行了打印声明,但数字是正确的。罪魁祸首可能是我所做的重置功能,但角色重置得很好。唯一的问题是输出在打印错误检查时会创建额外的空格,这会导致在错误的位置显示错误检查。
答案 0 :(得分:2)
您需要在while循环中将check1
和check2
重置为false
。其他明智的做法是在第二种情况下运行第二种情况后,它会包含额外的空格,导致错误的偏移。