我的代码在JS中无法正常工作但在c中正在运行。为什么? 为什么在调用递归函数时不起作用? 在递归函数中我能做些什么?我必须使用JavaScript制作这个项目。
JS CODE
<a onClick="req(1)">Click</a>
<script>
function req(s){
if(s<5){
console.log(s);
for(i=0;i<s;i++){
req(s+1);
}
}
}
</script>
此代码返回此值: 1 2 3 4
C代码
#include <stdio.h>
void req(int s){
if(s<5){
printf("%d\n",s);
int i = 0;
for(i = 0;i<s;i++){
req(s+1);
}
}
}
void main(){
req(1);
}
是:
1 2 3 4 4 4 3 4 4 4
答案 0 :(得分:4)
始终。宣布。您的。变量
否则他们会在草率模式下变得全球化。
function req(s) {
if(s<10) {
console.log(s);
for(var i=0; i<s; i++) {
req(s+1);
}
}
}
req(1);
&#13;