这个问题如何做??好有趣的机制,如何处理

#include
int main()
{
    int i=0,n=0;
    char b;
    scanf("%c",&b);
    if(b!=' ')
        n++;//先输入个先行值 
    while(b!='\n'){
        scanf("%c",&b);
        if(b!=' '&&b!='\n')
            n++;
        if(n!=0&&b==' '||b=='\n'){//统计一次空格前的字母数 
            if(n!=0){
            printf("%d ",n);
            i=1;
            }
            n=0;//n重置为0 


        }
    }
    if(i=0)
    printf("0 "); 
    return 0;
}


倒数第三句为什么i=0不行要i!=1才行?

img

i=0 , 这不是 赋值语句嘛, 表达式结果 为 0, 代入到 if(0) 里,判断结果就是 false呀
要这样写 : if (i == 0)


如有帮助,欢迎采纳哈!

如果要判断i是否等于0就是i==0。一个=是赋值,两个才是判断

if(i==0)