此函数旨在返回数字num中的零个数。函数rCountZeros2()将结果传递给 指针参数结果。 `
void rCountZeros2(int num, int *result)
{
if (num==0)
return;
else
{
if (num%10==0){
(*result)++;
}
rCountZeros2(num/10, result);
}
}
`
答案 0 :(得分:2)
看看您何时调用rCountZeros2()
,我的猜测是变量结果中的值不为零。它可能是一些垃圾值或先前计算中的其他值。但是,您提供的详细信息很难提供确切答案。
请尝试以下独立程序,我使用您的代码得到了正确答案
void rCountZeros2(int num, int *result)
{
if (num==0)
return;
else
{
if (num%10==0){
(*result)++;
}
rCountZeros2(num/10, result);
}
}
int main()
{
int result = 0;
int num=12300000;
rCountZeros2(num, &result);
printf("number of zeros in %d = %d",num ,result);
}