编写一个函数求一个字符串的空格的个数,并编写main函数调用

#include<stdio.h>
int yue(char str[])
{
    int i=0,n=0;
    gets(str);
    while (str[i]!= '\0');
    {
        if (str[i] == ' ')n++;
        i++;
    }
    return(n);
}
int main()
{
    int a, str[10], b;
    gets(str);
    b=yue(str);
    printf("%d", b);
    return 0;
}

以上是我的代码。完全看不出错在哪里。新手上路,还请各位小伙伴指教。


#include <stdio.h>
int yue(char str[])
{
    int i = 0, n = 0;
    while (str[i] != '\0')
    {
        if (str[i] == ' ')
            n++;
        i++;
    }
    return (n);
}
int main()
{
    int a, b;
    char str[10];
    gets(str);
    b = yue(str);
    printf("%d", b);
    return 0;
}