noi 1.7 24代码测试出错

问题遇到的现象和发生背景

24:单词的长度
总时间限制: 1000ms 内存限制: 65536kB
描述
输入一行单词序列,相邻单词之间由1个或多个空格间隔,请对应地计算各个单词的长度。

注意,如果有标点符号(如连字符,逗号),标点符号算作与之相连的词的一部分。没有被空格间开的符号串,都算作单词。

输入
一行单词序列,最少1个单词,最多300个单词,单词之间用至少1个空格间隔。单词序列总长度不超过1000。
输出
依次输出对应单词的长度,之间以逗号间隔。
样例输入
She was born in 1990-01-02 and from Beijing city.
样例输出
3,3,4,2,10,3,4,7,5
来源
习题(7-7) 元培-From WHF

问题相关代码,请勿粘贴截图
#include<bits/stdc++.h>

using namespace std;

int ql(string s)
{
    for(int i=0;i<strlen(s.c_str());i++)
    {
        if(s[i]==' '&s[i+1]==' ')
        {
            s.erase(i,1);
            i--;
        }
    }
}

int main()
{
    string s;
    getline(cin,s);
    ql(s);
    int g=0,zg[300]={0};
    for(int i=0;i<strlen(s.c_str());i++)
    {
        if(s[i]!=' ')
        {
            zg[g]++;
        }
        else
        {
            g++;
        }
    }
    bool f=true;
    for(int i=0;i<300;i++)
    {
        if(zg[i]!=0)
        {
            if(f==true)
            {
                cout<<zg[i];
                f=false;
            }
            else
            {
                cout<<','<<zg[i];
            }
        }
    }
    return 0;
}

运行结果及报错内容

试运行没问题,但在OJ上就runtime error了


if(s[i]==' '&&s[i+1]==' ')
不是
if(s[i]==' '&s[i+1]==' ')
===========
&&是逻辑与,&是位与

你把代码复制到记事本发给我