在numberOfDigits
函数中,我没有为digits
变量赋值,因为默认情况下它是 0。但是在变量的printf
语句中digits
它被打印为 168。
digits
将零分配给变量后,我得到了预期的输出。所以,我的问题:是否有必要在用户定义函数中为变量赋值?如果是,为什么?
#include <stdio.h>
void numberOfDigits(int num);
void main()
{
int num;
printf("Enter integer :");
scanf("%d",&num);
numberOfDigits(num);
}
void numberOfDigits(int num)
{
int nc=num, digits=0;
while(nc>0)
{
nc=nc/10;
digits++;
}
printf("Number of digits in %d are %d\n",num,digits);
}