C 如何调用计算整数位数的函数
我的函数应该得到一个非负整数,并返回数字中有多少位,例如,对于数字563,函数返回3。 对于0,将返回1 *我是c语言的新手,所以对我来说仍然很困惑。 谢谢 这是我的密码:C 如何调用计算整数位数的函数,c,visual-studio-2015,C,Visual Studio 2015,我的函数应该得到一个非负整数,并返回数字中有多少位,例如,对于数字563,函数返回3。 对于0,将返回1 *我是c语言的新手,所以对我来说仍然很困惑。 谢谢 这是我的密码: #include <stdio.h> int numOfDigits(int n); //Declartion void main() { int num1, counter = 0, newNum; printf("Enter A Number: "); scanf("%d", &
#include <stdio.h>
int numOfDigits(int n); //Declartion
void main()
{
int num1, counter = 0, newNum;
printf("Enter A Number: ");
scanf("%d", &num1);
}
int numOfDigits(int n1)
{
int counter = 0;
if (n1 == 0)
return 1;
while (n1 > 0) {
counter++;
n1 /= 10;
}
return counter;
}
#包括
整数位数(整数n)//宣布
void main()
{
int num1,计数器=0,newNum;
printf(“输入一个数字:”);
scanf(“%d”&num1);
}
整数位数(整数n1)
{
int计数器=0;
如果(n1==0)
返回1;
而(n1>0){
计数器++;
n1/=10;
}
返回计数器;
}
我应该写什么来让程序工作 只需调用您创建的数字计数函数并将其返回值分配给变量,然后使用
printf()
函数打印该变量的值;或者,在printf()中调用数字计数函数作为参数:
#include <stdio.h>
int numOfDigits(int n);
int main(void)
{
int num1;
int counter = 0;
printf("Enter A Number: ");
scanf("%d", &num1);
counter = numOfDigits(num1);
printf("number of digits: %d\n", counter);
//printf("number of digits: %d\n", numOfDigits(num1)); alternate method
}
int numOfDigits(int n1)
{
int counter = 0;
if (n1 == 0)
return 1;
while (n1 > 0) {
counter++;
n1 /= 10;
}
return counter;
}
#包括
整数位数(整数n);
内部主(空)
{
int num1;
int计数器=0;
printf(“输入一个数字:”);
scanf(“%d”&num1);
计数器=num位数(num1);
printf(“位数:%d\n”,计数器);
//printf(“位数:%d\n”,numf位数(num1));替代方法
}
整数位数(整数n1)
{
int计数器=0;
如果(n1==0)
返回1;
而(n1>0){
计数器++;
n1/=10;
}
返回计数器;
}
几点注意:
<> LI>因为您提到需要得到一个非负数,考虑使用<代码>无符号int 类型,并在代码> > SCANFF()中更改格式说明符< /COD>和<代码> Print For(<代码> >调用<代码> %%u”< /代码> .
- 函数
main
应声明为intmain(void)
或intmain(intargc,char**argv)
“我应该写些什么来让程序工作?”您忘记了解释为什么/如何它不工作。main()
应该调用numfodigits()
。然后打印结果。我如何调用函数并传递给main?听起来你需要阅读教科书中解释如何调用函数的部分。所以,这不是学习基础知识的替代品。谢谢你!我现在明白它是如何工作的了。此代码中返回1的目的是什么?我知道什么数字等于零,它应该返回1,但它真正的含义是什么?@AndrewM它的意思是,如果传递给函数的数字是0
,那么1
将返回,因为0
是一个单位数。@AndrewM单击答案旁边左侧的复选标记。