关于RE的问题
查看原帖
关于RE的问题
1201301
izhouwei楼主2025/1/4 09:34

有同学不理解下面这种写法为什么会产生RE, 产生"我不是限制了i小于s.size()-4吗"的疑问

for(int i=0;i<s.size()-4;i++){

}

可以做一个实验

string s="abc";
cout<<s.size()-4; 

这段代码并没有输出-1, 因为s.size()返回的是unsigned long long类型的无符号整数, 所以并没有-1这个值

换个好的写法

for(int i=0;i+4<s.size();i++){
	if(......&&s[i+4]=='u'){
		sum++;//循环内最大的下标是i+4  
	}         //判断 i+4<s.size() 就可以 
}
2025/1/4 09:34
加载中...