r语言 ifelse基础问题

请问大佬为什么这样会输出两个2?

> i <- 1
> ifelse (i > 1,print(1),print(2))
[1] 2
[1] 2

ifelse 函数的内部调用了这个print打印了一个2,而这个打印出来的2 又return给了ifelse 输出到终端