注册 登录
编程论坛 C语言论坛

任意输入一正整数,输出它是几位数,比较简单的题,但是不知道为什么写得不对,求助!!

喜风 发布于 2022-10-16 23:44, 1079 次点击
任意输入一正整数,输出它是几位数
#include <stdio.h>
int main()
{
int a,n;
scanf("%d",&a);
if(a>0)
{
   for(n=0;a>=1;n++);
   a=a/10;
   printf("%d",n);

}
else
    printf("error!");
return 0;
}
这个可以运行,但输入数字再按回车后第二行只有光标在闪,没有结果,求助这是为什么呢?
4 回复
#2
apull2022-10-17 08:36
for(n=0;a>=1;n++);
这个分号删了,不然死循环。
#3
rjsp2022-10-17 08:37
   for(n=0;a>=1;n++);
   a=a/10;

改为
   for(n=0;a>=1;n++)
      a=a/10;

即去掉for那行最后的分号
#4
喜风2022-10-18 22:08
回复 2楼 apull
太感谢您了,看了好久都没发现
#5
喜风2022-10-18 23:06
回复 3楼 rjsp
谢谢谢谢!灰常感谢
1