首页 > 解决方案 > R studio中的IF ELSE函数

问题描述

有人可以解释为什么这段代码输入 1:exam(5) 吗?

exam<-function(x){
  y<-1
  if(x==1){
    return(1)
  }
  else{
    return(y*exam(x-1))
    y<-y+1
  }
}

标签: rif-statement

解决方案


我稍微改变了你的脚本

exam<-function(x){
  y<-1
  if(x==1){
            print("if x===1")
    return(1)

  }
  else{
        print(paste("x = ",x ))
    return(y*exam(x-1))
    y<-y+1
  }
}

现在您应该能够看到每个递归迭代的结果

> exam(5)
[1] "x =  5"
[1] "x =  4"
[1] "x =  3"
[1] "x =  2"
[1] "if x===1"
[1] 1

因为你没有解释你期望的结果,所以很难进一步帮助你。


推荐阅读