代码为求输入的N多个字符串中有多少个不同字符!
由于以前对string类型不了解,因此犯了一个错误!
strcmp函数的参数只适应于C中的字符串,而string
类型属于C++里面的一个类,因此,在用strcmp函数
来比较string类型的数据时,需将string类型转化成
C语言里面的类型,调用string.c_str()方法即可。
错误代码:
#include<iostream>
#include<string>
#include<cstring>
#include<set>
using namespace std;
int main()
{
string aa;
set< string >a;
while()
{
cin>>aa;
if(strcmp(aa,"#")==0)
break;
else
a.insert(aa);
}
cout<<a.size()<<endl;
}
改正代码
#include<iostream>
#include<string>
#include<cstring>
#include<set>
using namespace std;
int main()
{
string aa;
set< string >a;
while()
{
cin>>aa;
if(strcmp(aa.c_str(),"#")==0)
break;
else
a.insert(aa);
}
cout<<a.size()<<endl;
}