C语言判断数位数问题#include"stdio.h"int main(){long n,j,m=1,result;scanf("%ld",&n);for(j=1;;j++){m=10*m;result=n/m;if(result==0)break;}printf("anwser=%ld\n",j);getch();return 0;}只能判断小于10位数判断~怎么改成能判断更大数

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 06:47:50
C语言判断数位数问题#include

C语言判断数位数问题#include"stdio.h"int main(){long n,j,m=1,result;scanf("%ld",&n);for(j=1;;j++){m=10*m;result=n/m;if(result==0)break;}printf("anwser=%ld\n",j);getch();return 0;}只能判断小于10位数判断~怎么改成能判断更大数
C语言判断数位数问题
#include"stdio.h"
int main()
{
long n,j,m=1,result;
scanf("%ld",&n);
for(j=1;;j++)
{
m=10*m;
result=n/m;
if(result==0)break;
}
printf("anwser=%ld\n",j);
getch();
return 0;
}
只能判断小于10位数判断~怎么改成能判断更大数判断!

C语言判断数位数问题#include"stdio.h"int main(){long n,j,m=1,result;scanf("%ld",&n);for(j=1;;j++){m=10*m;result=n/m;if(result==0)break;}printf("anwser=%ld\n",j);getch();return 0;}只能判断小于10位数判断~怎么改成能判断更大数
整数的最大长度也就是10位(无符号整数最大2的32次方-1)
如果想表示再大的数,最多也只能是定义成long long数据可达到2的64次方-1,你的程序需要修改一下.
#include"stdio.h"
int main()
{
unsigned long long n ;
int j;
scanf("%lld",&n);
for(j=1;;j++)
{
n = n/10;
if(n==0)break;
}
printf("anwser=%d\n",j);
return 0;
}