求一个最大10000的正整数的位数,为什么执行会出现错误?

求一个最大10000的正整数的位数,为什么执行会出现错误?刚新学的,还请各位多多指教。谢谢!!

img

img

0<num<10这种写法是不对的,应该是0<num && num<10
下面的一样。
代码修改如下:

#include <stdio.h>
void main()
{
    int num;
    printf("please input a num:");
    scanf("%d",&num);
    if (num >0 && num <10)
    {
        printf("1\n");
    }else if (num>=10 && num<100)
    {
        printf("2\n");
    }else if (num>=100 && num<1000)
    {
        printf("3\n");
    }else if (num>=1000 && num<10000)
    {
        printf("4\n");
    }else
    {
        printf("error\n");
    }
}

c语言不支持连续不等式
全部改为0<num && num<10这种形式

你应该把scanf后的num打印出来看看是多少

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632

把num打印出来看看