#include<stdio.h>
int main()
{
int a,i=0;
scanf("%d",a);
while(a/10>=1)
{
a=a/10;
i++;
}
printf("%d",i);
return 0;
}
//以上我的代码,他报错这些
SIGSEGV on thread : 6422245376
#include<stdio.h>
int main()
{
int a,i=0;
scanf("%d",a);
while(a/10>=1)
{
a=a/10;
i++;
}
printf("%d",i);
return 0;
}
//以上我的代码,他报错这些
SIGSEGV on thread : 6422245376
输入a没加取地址符&
另外判断位数while循环里不要先除一次,这样会少一位
如果有帮助请点一下我回答右上方的采纳,谢谢!以后有什么问题可以互相交流。
修改后:
#include<stdio.h>
int main()
{
int a,i=0;
scanf("%d",&a);
while(a)
{
a=a/10;
i++;
}
printf("%d",i);
return 0;
}