变量定义为啥影响结果

变量定义顺序改变后,其他条件不变,运行结果也改变是什么原因

img

两边输出第九行(对应的输入为"0 0 0")均应输出8,但n定义在是s[]之前会使n被赋值为0
n被赋0的可能原因是(a-1)*n+b在a=b=0时值为负不可做下标,而令n=0使表达式成立(不一定正确,是目前能想到的最合适的解释),但不理解为什么两者定义顺序会带来影响

破坏了n所在的内存