回 帖 发 新 帖 刷新版面

主题:[讨论]一点问题

#include <set>
#include <cstdio>
#include <string>
#include <iostream>

using namespace std;

int main(void)
{
    set <string> st;
    string s = "";
    char c;

    while ((c = getchar()) != '#')
    {
        s += c;
        while (c != '\n')
        {
            while ((c = getchar()) != ' ' && c != '\n')
                s += c;
            if (s.length()) st.insert(s);//这里没明白什么意思,但是应该有单词比较的成分 ,我就想问这里到底发生了什么。。
            s = "";//初始化数组 
        }
        cout << st.size() << endl;//计算大小
        st.clear();//清理函数
    }
    system("pause");
    return 0;
}
这是一段计算不同单词数的代码。。。但是这里的函数没学过。。网上查的也是很模糊,所以来请教一下。。。

回复列表 (共1个回复)

沙发

if (s.length()) st.insert(s);

if (s.length())相当于if (s.length() != 0),就是说“如果字符串s的长度不等于零”。
st.insert(s),意思是把字符串s添加到集合st之中。

我来回复

您尚未登录,请登录后再回复。点此登录或注册