void printInt(int n){
if(n==1)
cout<<1<<" ";
else
printInt(n-1);
cout<<n<<" ";
}
我得到的输出是
1 1 2 3....n
我正在一张纸上写出该功能的实际步骤,但是我不知道它如何在控制台中打印额外的1(Visual Studio 2010)。这是从过去的硬件解决方案中获得的,因此严格来说是为了了解其工作原理。
最佳答案
您需要一些括号:
if(n==1)
{
cout<<1<<" ";
}
else
{
printInt(n-1);
cout<<n<<" ";
}
否则,即使
cout
,第二个n==1
也会运行。严格来说,不需要第一个cout
周围的花括号,但在这种情况下,我喜欢使用它作为样式。编者注:通过在调试器中逐步执行功能,可以轻松解决此问题。
关于c++ - “print 1 to n”函数打印两次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18595718/