gpt4 book ai didi

c++ - "print 1 to n"函数打印 1 两次

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:22:22 24 4
gpt4 key购买 nike

 void printInt(int n){
if(n==1)
cout<<1<<" ";
else
printInt(n-1);
cout<<n<<" ";
}

我得到的输出是

 1 1 2 3....n

我正在一张纸上写下函数的实际步骤,但我不明白它是如何在控制台 (Visual Studio 2010) 中打印额外的 1 的。这是来自过去的 HW 解决方案,因此这完全是为了了解它是如何工作的。

最佳答案

你需要一些牙套:

   if(n==1)
{
cout<<1<<" ";
}
else
{
printInt(n-1);
cout<<n<<" ";
}

否则,即使 n==1,第二个 cout 也会运行。严格来说,first cout 周围的大括号不是必需的,但在这种情况下我喜欢它的风格。

编辑说明:通过在调试器中单步执行您的函数,可以轻松解决此问题。

关于c++ - "print 1 to n"函数打印 1 两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18595718/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com