想讨论一下'\0'和" "的区别
查看原帖
想讨论一下'\0'和" "的区别
446946
物是人非°楼主2021/3/20 22:07

只有最后一句话不一样为什么差别这么大呢?

#include <iostream>
#include <string>
using namespace std;
int main()
{
	string w,s;
	getline(cin,w);
	getline(cin,s);
	for(int i=0;i<w.length();i++)
		if('A'<=w[i]&&w[i]<='Z')
			w[i]+='a'-'A';
	for(int j=0;j<s.length();j++)
		if('A'<=s[j]&&s[j]<='Z')
			s[j]+='a'-'A';
	w=' '+w+' ';
	s=' '+s+' ';
	if((int)s.find(w)==-1)
		cout<<-1<<endl;
	else
	{
		int f=s.find(w);
		int n=s.find(w),c=0;
		while(n!=-1)
		{
			c++;
			n=s.find(w,n+1);
		}
		cout<<c<<'\0'<<f<<endl;//错误
        cout<<c<<" "<<f<<endl;//正确
	}
	return 0;
}
2021/3/20 22:07
加载中...