我正在解决一些项目练习。我遇到了这句话,我需要澄清。该程序要求用户输入括号和/或大括号,并检查它们是否嵌套。首先,我需要读取用户的输入如下:如何在这种情况下检测新行
while((ch = getchar()) != '\n'){
// Do analysis on ch.
}
但我遇到了下面这句话是不是很清楚,我来了。
当程序读取换行字符,有它检查堆栈是否 是空
根据我前面提到的,而(),我永远赶不上新行字符。我怎样才能克服这个问题?我唯一想到的是在完成后检查堆栈大小,如果是这样,这意味着用户输入一个新的行字符,导致while()循环终止。但是这个解决方案并没有抓住新的路线,而是一种解决方法。任何建议!
当程序读取换行符时,你的while循环将退出,所以你知道。 –
您还需要检查EOF。 –
我认为这是相当模糊的。你必须在'\ n'之后继续分析吗?如果你必须检查'EOF',而检查'\ n'内部的'\ n',否则你只需要在护套中添加'EOF'检查,然后退出循环。 – BetaRunner