我的假设是,这会使得检查器和堆栈分析变得混乱。我不能证明我的假设,我不认为C99会抱怨。也许c89都不会因为定义是……
在一个坏习惯的if语句中声明一个变量?
没有。
现代方法是最小化所使用的变量的范围,从而避免逻辑(难以修复)和语法(易于修复)错误。
当然,有些人仍然希望看到代码最顶层定义的所有变量,因为这是过去的惯例,正如@Clifford所评论的那样。
顺便说一下,您的代码应该可以正常编译,包括C89和C99。
<子> 这个堆栈使用思想是过度思考的结果,我建议你遵循古希腊语:M tron riston。 子>