static局部变量引用失败问题

初学者,老哥们能不能帮帮忙看一下,真的非常感谢。
一个求n阶乘的函数,我发现在 for里面定义 static c,最后打印c会显示未声明,必须定义全局变量才可以正常运行。

img

当然没申明了啊,c在for循环里定义的,for循环外自然不认识。你把static int c = 1放到for循环之前就行了啊

  • int c 是 局部变量,它的作用域范围 就是 for循环,在for循环外自然访问不到了。
  • 只需要 把 int c = 1,放到 for循环上面,下面打印就没问题了