for循环条件一塌糊涂。for(初始化表达式;条件表达式;表达式)
初始化一般是类似于
i=10;
这类赋值方式
。
条件表达式必须能判断真假(True
or
False
0
或1)
类似
a>0;
或a>b;
或
a>0
&&
b>a
等等
表达式一般是改变循环因子的居多
比如i++;
i+=10
;
i/=10;
这类
一般无关循环因子的,最好写在for循环里面。
你这道题是想判断输入的是几位数。给个写法给你:
#include
main()
{
int
a,b;
printf("请输入一个不多于五位的正整数:");
scanf("%d",&a);
while(a)
{
a/=10;
b++;
if(b>5)
{
printf("大于五位了");
break;
}
}
if(b<=5)
printf("你输入了一个
%d
位的数",b);
getch();
}