为什么输出结果都是0?

图片说明
图片说明

你完美地避开了正确的写法
应该是
printf("%d", 8/5); //输出1
或者
printf("%lf", (double)8/(double)5); //输出 1.6

printf函数并没有数据类型转换的功能,他只会把相应内存的二进制数据按照指定的规则输出

输出的结果都是0,咋回事啊?
#include <stdio.h>

int NumDigit(int number);

int main()
{
int n;
scanf("%d", &n);
printf("%d\n", NumDigit(n));
return 0;
}

/* 你提交的代码将被嵌在这里 */

int NumDigit(int number)

{
int n;
int NumDigit=0;

while ( n> 0 )
{
NumDigit++;
n /= 10;
}

return 0;
}