gpt4 book ai didi

c++ - 通过递归计算整数中的位数

转载 作者:太空宇宙 更新时间:2023-11-04 15:41:54 25 4
gpt4 key购买 nike

我的代码如下:

/计算一个整数的位数

#include <iostream>
using namespace std;

int countNum(int n,int d){
if(n==0)
return d;
else
return (n/10,d++);
}
int main(){
int n;
int d;
cout<<"Enter number"<<endl;
cin>>n;
int x=countNum();
cout<<x;
return 0;
}

我无法找出错误,它说: 函数 `int countNum(int, int)' 的参数太少什么是问题?

最佳答案

因为你声明函数接受两个参数:

int countNum(int n,int d){

并且你没有传入:

int x = countNum();

您可能打算这样调用它,而不是:

int x = countNum(n, d);

还有这个:

return (n/10,d++);

应该是这样的:

return countNum(n/10,d++);

此外,您还没有初始化您的 nd 变量:

int n;
int d;

最后,您根本不需要 d 参数。这是一个更好的版本:

int countNum(int n){
return (n >= 10)
? 1 + countNum(n/10)
: 1;
}

here这是工作示例。

关于c++ - 通过递归计算整数中的位数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21610105/

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